public override void CopyState(object source) { if (source is QAddDatasourceFieldCR) { QAddDatasourceFieldCR cr = (QAddDatasourceFieldCR)source; XmlDocument doc = new XmlDocument(); doc.LoadXml(cr.Serialize()); Deserialize(doc.DocumentElement); } }
public void ConfigureDatasourceFieldCR(QPoolField field) { if (!Children.Any(F => F.GetType().Equals(typeof(QAddDatasourceFieldCR)) && ((QAddDatasourceFieldCR)F).FieldName == field.FieldName && ((QAddDatasourceFieldCR)F).FieldCaption == field.EnglishCaption && ((QAddDatasourceFieldCR)F).InstallationCode == InstallationCode) ) { QAddDatasourceFieldCR cr = AddNewChild <QAddDatasourceFieldCR>(); cr.FieldName = field.FieldName; cr.FieldCaption = field.EnglishCaption; } }
public override object Clone() { QAddDatasourceFieldCR retval = new QAddDatasourceFieldCR() { FieldName = this.fieldName, FieldCaption = this.fieldCaption, Parent = this.Parent }; foreach (QChangeRequest child in this.Children) { retval.Children.Add((QChangeRequest)child.Clone()); } return(retval); }
public override void Modify() { foreach (QPoolField field in poolFields) { var children = ChangeRequest.Children.Where(C => C.GetType() == typeof(QAddDatasourceFieldCR) && ((QAddDatasourceFieldCR)C).FieldName == field.FieldName && ((QAddDatasourceFieldCR)C).FieldCaption == field.EnglishCaption && ((QAddDatasourceFieldCR)C).InstallationCode == installationCode).ToList(); if (children == null || children.Count == 0) { // add child QAddDatasourceFieldCR newchild = ChangeRequest.AddNewChild <QAddDatasourceFieldCR>(); newchild.FieldName = field.FieldName; newchild.FieldCaption = field.EnglishCaption; } } }