public static ObservableCollection <T> CompareCollectionIsChanged <T>(ObservableCollection <T> SourceList, ObservableCollection <T> DestList, string PropertyName) { ObservableCollection <T> tempList = new ObservableCollection <T>(); foreach (T DestInfo in DestList) { T SourceInfo = SourceList.Where(info => GetPropertyValue(DestInfo, PropertyName) == GetPropertyValue(info, PropertyName)).FirstOrDefault(); if (SourceInfo != null) { if (AlgorithmClass.CheckIsChanged <T>(SourceInfo, DestInfo)) { tempList.Add(DestInfo); } } } return(tempList); }
public static ObservableCollection <BOPInfo> GetBOPListByBOPType(ObservableCollection <BOPInfo> allBOPList, BOPType type) { return(AlgorithmClass.DeepClone <ObservableCollection <BOPInfo> >(new ObservableCollection <BOPInfo>(allBOPList.Where(info => info.BOP_Type == type)))); }