public void Merge(ConditionActionBase clone) { if (Name != clone.Name) { Name = clone.Name; } if (DataType != clone.DataType) { DataType = clone.DataType; } if (DefaultText != clone.DefaultText) { DefaultText = clone.DefaultText; } DefaultBool = clone.DefaultBool; Background = clone.Background; TooltipText = clone.TooltipText; //EnumValues.Clear(); while (EnumValues.Count != 0) { EnumValues.RemoveAt(0); } foreach (EnumValue value in clone.EnumValues) { EnumValues.Add(value); } }
int GetId(ConditionActionBase obj) { var result = ConditionActionIdDictionary.Where(val => val.Value.Equals(obj)); if (result.Count() != 1) { throw new Exception("internal error"); } return(result.First().Key); }
private void LoadEnumValues(XmlElement element, ConditionActionBase co) { if (co.DataType == ValueDataType.Enumeration) { var xmlEnumValuesColl = element.GetElementsByTagName(XmlNames.EnumValuesName); var xmlEnumValues = xmlEnumValuesColl[0] as XmlElement; foreach (XmlElement xmlEnumValue in xmlEnumValues.GetElementsByTagName(XmlNames.EnumValueName)) { EnumValue ev; Load(xmlEnumValue, out ev); co.EnumValues.Add(ev); } } }
/// <summary> /// clone the object and all its content /// </summary> /// <param name="clone"></param> protected void Clone(IConditionAction clone) { ConditionActionBase co = (ConditionActionBase)clone; co.Name = Name; co.DataType = DataType; co.DefaultBool = DefaultBool; co.DefaultText = DefaultText; co.Background = Background; co.TooltipText = TooltipText; co.EnumValues = new ObservableCollection <EnumValue>(); foreach (EnumValue value in EnumValues) { co.EnumValues.Add(value.Clone()); } }