using HMI.Core.Entity; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Xml.Serialization; namespace Plugin.TestBuilder.Model { public class Program : NotifyBase { /// /// 程序名 /// private string _Name; public string Name { get { return _Name; } set => Set(ref _Name, value); } /// /// 序列集合 /// private ObservableCollection _Sequences = new ObservableCollection(); public ObservableCollection Sequences { get { return _Sequences; } set => Set(ref _Sequences, value); } /// /// 程序所需参数 /// private ObservableCollection _Variables; public ObservableCollection Variables { get { return _Variables; } set => Set(ref _Variables, value); } /// /// 初始参数参数 /// private Dictionary _InitVars; [XmlIgnore] public Dictionary InitVars { get { return _InitVars; } set { _InitVars = value; } } /// /// 计算临时参数 /// private Dictionary _TempVars = new Dictionary(); [XmlIgnore] public Dictionary TempVars { get { return _TempVars; } set { _TempVars = value; } } public Program AddSequnce(params Sequence[] sequences) { foreach (Sequence sequence in sequences) { if (sequence == null) continue; sequence.Program = this; Sequences.Add(sequence); } return this; } public void RunProgram() { foreach (Sequence sequence in Sequences) { sequence.RunSequnce(); } } } }