public ISARelationshipDTO GetISARelationships(int baseEntityID, int drivedEntitID) { ISARelationshipDTO result = new ISARelationshipDTO(); using (var projectContext = new MyIdeaEntities()) { var isaRelationship = projectContext.Relationship.First(x => x.TableDrivedEntityID2 == baseEntityID && x.RelationshipType.SubToSuperRelationshipType != null).RelationshipType.SubToSuperRelationshipType.ISARelationship; return(ToISARelationshipDTO(isaRelationship)); } }
public int Save(ISARelationshipDTO item) { using (var projectContext = new MyIdeaEntities()) { ISARelationship dbItem = null; if (item.ID == 0) { dbItem = new ISARelationship(); projectContext.ISARelationship.Add(dbItem); } else { dbItem = projectContext.ISARelationship.First(x => x.ID == item.ID); } dbItem.Name = item.Name; dbItem.IsDisjoint = item.IsDisjoint; dbItem.IsGeneralization = item.IsGeneralization; dbItem.IsSpecialization = !item.IsSpecialization; dbItem.IsTolatParticipation = item.IsTolatParticipation; projectContext.SaveChanges(); return(dbItem.ID); } }
//public List<ISARelationshipDTO> GetISARelationships(int tableDrivedEntityID) //{ // List<ISARelationshipDTO> result = new List<ISARelationshipDTO>(); // using (var projectContext = new MyIdeaEntities()) // { // var list = projectContext.ISARelationship.Where(x => x.TableDrivedEntityID1 == tableDrivedEntityID || x.TableDrivedEntityID2 == tableDrivedEntityID); // foreach (var item in list) // { // result.Add(ToISARelationshipDTO(item)); // } // } // return result; //} private ISARelationshipDTO ToISARelationshipDTO(ISARelationship item) { ISARelationshipDTO result = new ISARelationshipDTO(); result.Name = item.Name; result.ID = item.ID; result.IsGeneralization = item.IsGeneralization == true; result.IsTolatParticipation = item.IsTolatParticipation; result.IsDisjoint = item.IsDisjoint; result.SuperTypeEntities = ""; foreach (var superType in item.SuperToSubRelationshipType) { if (!result.SuperTypeEntities.Contains(superType.RelationshipType.Relationship.TableDrivedEntity.Name)) { result.SuperTypeEntities += (result.SuperTypeEntities == "" ? "" : ",") + superType.RelationshipType.Relationship.TableDrivedEntity.Name; } } result.SubTypeEntities = ""; foreach (var subType in item.SubToSuperRelationshipType) { result.SubTypeEntities += (result.SubTypeEntities == "" ? "" : ",") + subType.RelationshipType.Relationship.TableDrivedEntity.Name; } return(result); }
public void MergeISARelationships(string name, List <ISARelationshipDTO> relationships, ISARelationshipDTO selectedOne) { using (var projectContext = new MyIdeaEntities()) { int isaRelationID = 0; foreach (var relationship in relationships) { //if (relationship == selectedOne) // isaRelationID = relationship.ID; //else //{ var dbRelationship = projectContext.ISARelationship.First(x => x.ID == relationship.ID); foreach (var detail in dbRelationship.SuperToSubRelationshipType) { detail.ISARelationshipID = selectedOne.ID; } foreach (var detail in dbRelationship.SubToSuperRelationshipType) { detail.ISARelationshipID = selectedOne.ID; } //} } projectContext.SaveChanges(); } }