protected static void CompareExtendedProperties(ISQLServerSchemaBase origen, ISQLServerSchemaBase destino) { /*List<ExtendedProperty> dropList = (from node in origen.ExtendedProperties * where !destino.ExtendedProperties.Exists(item => item.Name.Equals(node.Name, StringComparison.CurrentCultureIgnoreCase)) * select node).ToList<ExtendedProperty>();*/ List <ExtendedProperty> dropList = new List <ExtendedProperty>(); foreach (ExtendedProperty n in origen.ExtendedProperties) { if (!destino.ExtendedProperties.Exists(n.Name)) { dropList.Add(n); } } /*List < ExtendedProperty > addList = (from node in destino.ExtendedProperties * where !origen.ExtendedProperties.Exists(item => item.Name.Equals(node.Name, StringComparison.CurrentCultureIgnoreCase)) * select node).ToList<ExtendedProperty>();*/ List <ExtendedProperty> addList = new List <ExtendedProperty>(); foreach (ExtendedProperty n in destino.ExtendedProperties) { if (!origen.ExtendedProperties.Exists(n.Name)) { addList.Add(n); } } dropList.ForEach(item => { item.Status = Enums.ObjectStatusType.DropStatus; }); addList.ForEach(item => { item.Status = Enums.ObjectStatusType.CreateStatus; }); origen.ExtendedProperties.AddRange(addList); }
protected static void CompareExtendedProperties(ISQLServerSchemaBase origin, ISQLServerSchemaBase destination) { List <ExtendedProperty> dropList = (from node in origin.ExtendedProperties where !destination.ExtendedProperties.Exists(item => item.Name.Equals(node.Name, StringComparison.CurrentCultureIgnoreCase)) select node).ToList <ExtendedProperty>(); List <ExtendedProperty> addList = (from node in destination.ExtendedProperties where !origin.ExtendedProperties.Exists(item => item.Name.Equals(node.Name, StringComparison.CurrentCultureIgnoreCase)) select node).ToList <ExtendedProperty>(); dropList.ForEach(item => { item.Status = ObjectStatus.Drop; }); addList.ForEach(item => { item.Status = ObjectStatus.Create; }); origin.ExtendedProperties.AddRange(addList); }