예제 #1
0
        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);
            }
        }
예제 #2
0
 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);
     }
 }