alielie
2025-03-03 4c3eb7f334abb8129b57e86f2935d75d0b3070b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System.Collections.ObjectModel;
using System.Xml.Serialization;
 
namespace WPFProject.Models
{
    public class Sequence : NotifyBase
    {
        private string _Name;
 
        public string Name
        {
            get { return _Name; }
            set => RaiseAndSetIfChanged(ref _Name, value);
        }
 
        [XmlIgnore]
        public Program Program { get; set; }
 
        private ObservableCollection<Step> _Steps = new ObservableCollection<Step>();
        public ObservableCollection<Step> Steps
        {
            get { return _Steps; }
            set => RaiseAndSetIfChanged(ref _Steps, value);
        }
 
        public Sequence AddStep(params Step[] steps)
        {
            foreach (Step step in steps)
            {
                if (step == null) continue;
                step.Sequence = this;
                Steps.Add(step);
            }
            return this;
        }
 
        public void RunSequnce()
        {
            foreach (Step step in Steps)
            {
                step.RunStep();
            }
        }
 
        public Sequence()
        {
            AddStep(new Step { Name = "000" }, new Step { Name = "111" });
        }
 
    }
}