private void GenerateClassDiagramRelationships(ProjectDetail projectDetail, ProjectDetailsCollection parentProjectDetailsCollection, List<YumlRelationshipBase> existingRelationships, bool newlineForEachRelationship) { AddUnqiueRelationship(existingRelationships, GenerateYumlRelationships(projectDetail, parentProjectDetailsCollection, newlineForEachRelationship)); foreach (var linkObject in projectDetail.ChildProjects) { var detail = parentProjectDetailsCollection.GetById(linkObject.Id); GenerateClassDiagramRelationships(detail, parentProjectDetailsCollection, existingRelationships, newlineForEachRelationship); } }
private List<YumlRelationshipBase> GenerateYumlRelationships(ProjectDetail projectDetail, ProjectDetailsCollection projectDetailsCollection, bool newlineForEachRelationship) { var relationships = new List<YumlRelationshipBase>(); var detailModel = GenerateClass(projectDetail); foreach (var linkObject in projectDetail.ChildProjects) { var childModel = GenerateClass(projectDetailsCollection.GetById(linkObject.Id)); relationships.Add(new SimpleAssociation { Parent = detailModel, Child = childModel }); } foreach (var dllReference in projectDetail.References) { var childModel = GenerateClass(dllReference); relationships.Add(new SimpleAssociation { Parent = detailModel, Child = childModel }); } return relationships; }