private void AddApplication(XElement node) { var name = (string)node.Attribute("Name"); var description = (string)node.Attribute("Description"); var guid = (string)node.Attribute("Guid"); var application = new AzManItem("Application", name, "Application", description); mItems[guid] = application; Graph.AddVertex(application); foreach (var operation in Find(node, "AzOperation")) { AddOperation(operation); } foreach (var task in Find(node, "AzTask")) { AddTask(task); } foreach (var task in Find(node, "AzTask")) { AddTaskLinks(task); } foreach (var role in Find(node, "AzTask[@RoleDefinition]")) { var roleGuid = (string)role.Attribute("Guid"); var relationship = new AzManRelationship(application, mItems[roleGuid]); Graph.AddEdge(relationship); } }
private void AddLinks(AzManItem item, XElement node, string xpath) { foreach (var link in Find(node, xpath)) { var linkedItem = mItems[(string)link]; var relationship = new AzManRelationship(item, linkedItem); Graph.AddEdge(relationship); } }