//public bool CheckRelationshipIsChanged(ChildRelationshipInfo relation) //{ // if (OriginalRelatedData.Any(x => x.KeyProperties.All(y => !RelatedData.Any(z => z.IsNewItem == false && z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) // { // //داده ای حذف شده است // return true; // } // if (RelatedData.Any(x => x.KeyProperties.All(y => !OriginalRelatedData.Any(z => z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) // { // //داده ای اضافه شده است // return true; // } // return false; //} public bool CheckRelationshipIsChanged() { foreach (var deleted in OriginalRelatedData.Where(x => !x.KeyProperties.All(y => RelatedData.Any(z => z.IsNewItem == false && z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) { return(true); } foreach (var added in RelatedData.Where(x => !x.KeyProperties.All(y => OriginalRelatedData.Any(z => z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) { return(true); } return(false); }
//public int SourceRelationID; //public int SourceEntityID; //public int SourceTableID; //public int TargetTableID; //public Enum_RelationshipType SourceToTargetRelationshipType; //public Enum_MasterRelationshipType SourceToTargetMasterRelationshipType; public void AddDataToChildRelationshipInfo(DP_DataRepository dataItem, bool fromDB) { dataItem.ParantChildRelationshipInfo = this; RelatedData.Add(dataItem); if (fromDB) { ProxyLibrary.DP_DataRepository orgData = new ProxyLibrary.DP_DataRepository(dataItem.TargetEntityID, dataItem.TargetEntityAlias); orgData.ParantChildRelationshipInfo = this; foreach (var item in dataItem.KeyProperties) { orgData.AddCopyProperty(item); } OriginalRelatedData.Add(orgData); } }
//public bool OriginalDataHasBecomeHidden(DP_DataRepository orginalData) //{ // var currentData = RelatedData.FirstOrDefault(z => z.IsNewItem == false && orginalData.KeyProperties.All(x => z.KeyProperties.Any(u => x.ColumnID == u.ColumnID && x.Value == u.Value))); // if (currentData != null && currentData.IsHidden) // return true; // else // return false; //} public DP_DataRepository GetOroginalDataOfOriginalData(DP_DataRepository data) { return(OriginalRelatedData.First(z => data.KeyProperties.All(y => z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value)))); }
public bool DataItemIsAdded(DP_DataRepository item) { return(item.IsNewItem || !item.KeyProperties.All(y => OriginalRelatedData.Any(z => z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value)))); }