public ClassDiagramNodeData(SoftwareProcessElement processElement, String category) : base(processElement, category) { Attributes = new ObservableCollection <String>(); var type = processElement.GetType(); var properties = type.GetProperties(); var ignoredProperties = new List <string> { "IRI", "Name", "Description", "Type" }; var classSpecificProperties = properties.Where(p => !ignoredProperties.Contains(p.Name)).ToList(); foreach (var attribute in classSpecificProperties.Select(p => p.Name)) { Attributes.Add(attribute); } var parametersField = type.GetFields().FirstOrDefault(f => f.Name == "Parameters"); if (parametersField != null) { List <Parameter> parameterList = parametersField.GetValue(processElement) as List <Parameter>; foreach (var parameter in parameterList.Select(p => p.Name)) { Attributes.Add(parameter); } } }
public ActivityDiagramNodeData(SoftwareProcessElement processElement, String category) : base(processElement, category) { if (category == Constants.UML_AD_SWIMLANE) { this.IsSubGraph = true; } }
public UseCaseDiagramNodeData(SoftwareProcessElement processElement, String category) : base(processElement, category) { if (category == Constants.UML_UCD_SYSTEM) { this.IsSubGraph = true; } }
public UmlNodeData(SoftwareProcessElement processElement, String category) : this() { IRI = processElement.IRI; Name = processElement.Name; Description = processElement.Description; Stereotype = processElement.GetUPMMType(); BorderColor = "Black"; Category = category; Key = processElement.Name + "-" + category; Width = 400; Height = 600; }