private DataMenuDataViewRelationshipDTO ToDataMenuDataViewRelationshipDTO(DataMenuDataViewRelationship dbRel, EntityRelationshipTailDTO tail) { var rel = new DataMenuDataViewRelationshipDTO(); rel.ID = dbRel.ID; rel.RelationshipTailID = dbRel.EntityRelationshipTailID; rel.RelationshipTail = tail; rel.Group1 = dbRel.Group1; rel.TargetDataMenuSettingID = dbRel.TargetDataMenuSettingID ?? 0; return(rel); }
//public List<EntityReportDataMenuRelationshipsDTO> GetEntityRelationshipReports(int entityID, bool withDetails) //{ // List<EntityReportDataMenuRelationshipsDTO> result = new List<EntityReportDataMenuRelationshipsDTO>(); // using (var projectContext = new DataAccess.MyProjectEntities()) // { // var entityReportSetting = projectContext.EntityReportDataMenuSetting.FirstOrDefault(x => x.ID == entityID); // if (entityReportSetting != null) // { // foreach (var item in entityReportSetting.EntityReportDataMenuRelationships) // { // result.Add(ToEntityReportDataMenuRelationshipsDTO(item, withDetails)); // } // } // } // return result; //} //private EntityReportDataMenuRelationshipsDTO ToEntityReportDataMenuRelationshipsDTO(EntityReportDataMenuRelationships dbRel, bool withDetails) //{ //} public void UpdateEntityReportDataMenuSettings(DataMenuSettingDTO message) { using (var projectContext = new DataAccess.MyProjectEntities()) { DataMenuSetting dbEntity = null; if (message.ID != 0) { dbEntity = projectContext.DataMenuSetting.First(x => x.ID == message.ID); } else { dbEntity = new DataMenuSetting(); projectContext.DataMenuSetting.Add(dbEntity); } while (dbEntity.DataMenuSearchableReportRelationship.Any()) { projectContext.DataMenuSearchableReportRelationship.Remove(dbEntity.DataMenuSearchableReportRelationship.First()); } foreach (var item in message.SearchableReportRelationships) { DataMenuSearchableReportRelationship dbRel = new DataMenuSearchableReportRelationship(); // dbRel.RelationshipID = (item.RelationshipID == 0 ? (int?)null : item.RelationshipID); dbRel.EntityRelationshipTailID = item.RelationshipTailID; dbRel.EntitySearchableReportID = item.EntitySearchableReportID; dbRel.Group1 = item.Group1; dbEntity.DataMenuSearchableReportRelationship.Add(dbRel); } while (dbEntity.DataMenuDataViewRelationship.Any()) { projectContext.DataMenuDataViewRelationship.Remove(dbEntity.DataMenuDataViewRelationship.First()); } foreach (var item in message.DataViewRelationships) { DataMenuDataViewRelationship dbRel = new DataMenuDataViewRelationship(); dbRel.EntityRelationshipTailID = item.RelationshipTailID; dbRel.Group1 = item.Group1; if (item.TargetDataMenuSettingID != 0) { dbRel.TargetDataMenuSettingID = item.TargetDataMenuSettingID; } else { dbRel.TargetDataMenuSettingID = null; } dbEntity.DataMenuDataViewRelationship.Add(dbRel); } while (dbEntity.DataMenuGridViewRelationship.Any()) { projectContext.DataMenuGridViewRelationship.Remove(dbEntity.DataMenuGridViewRelationship.First()); } foreach (var item in message.GridViewRelationships) { DataMenuGridViewRelationship dbRel = new DataMenuGridViewRelationship(); dbRel.EntityRelationshipTailID = item.RelationshipTailID; dbRel.Group1 = item.Group1; if (item.TargetDataMenuSettingID != 0) { dbRel.TargetDataMenuSettingID = item.TargetDataMenuSettingID; } else { dbRel.TargetDataMenuSettingID = null; } dbEntity.DataMenuGridViewRelationship.Add(dbRel); } while (dbEntity.DataMenuDataItemReportRelationship.Any()) { projectContext.DataMenuDataItemReportRelationship.Remove(dbEntity.DataMenuDataItemReportRelationship.First()); } foreach (var item in message.DataItemReports) { DataMenuDataItemReportRelationship dbRel = new DataMenuDataItemReportRelationship(); dbRel.EntityDataItemReportID = item.EntityDataItemReportID; dbRel.Group1 = item.Group1; dbEntity.DataMenuDataItemReportRelationship.Add(dbRel); } while (dbEntity.DataMenuForViewEntity.Any()) { projectContext.DataMenuForViewEntity.Remove(dbEntity.DataMenuForViewEntity.First()); } if (message.RelationshipID != 0 && message.TargetDataMenuSettingID != 0) { DataMenuForViewEntity dbRel = new DataMenuForViewEntity(); dbRel.RelationshipID = message.RelationshipID; dbRel.TargetDataMenuSettingID = message.TargetDataMenuSettingID; dbEntity.DataMenuForViewEntity.Add(dbRel); } dbEntity.TableDrivedEntityID = message.EntityID; dbEntity.Name = message.Name; dbEntity.EntityListViewID = message.EntityListViewID; dbEntity.IconContent = message.IconContent; //dbEntity.EntityReportDataMenuSetting.IconContent = message.IconContent; projectContext.SaveChanges(); } }