public static void CreateMapRelationship(INode mapNode, INode childNode) { if (childNode != null && mapNode != null) { foreach (IDescriptor descriptor in childNode.Descriptors) { if (descriptor.Relationship is CompendiumMapRelationship) { foreach (IDescriptor altDesc in descriptor.Relationship.Descriptors) { if (altDesc.DescriptorType is CompendiumToDescriptor) { if (altDesc.Node.Id == mapNode.Id) { return; } } } } } CompendiumMapRelationship mapRelationship = new CompendiumMapRelationship(); mapRelationship.Id = mapNode.Id + childNode.Id; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(mapNode, mapRelationship, IoCContainer.GetInjectionInstance().GetInstance<CompendiumToDescriptor>()); IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(childNode, mapRelationship, IoCContainer.GetInjectionInstance().GetInstance<CompendiumFromDescriptor>()); mapRelationship.Descriptors = new IDescriptor[] { fromDescriptor, toDescriptor }; childNode.AddDescriptor(fromDescriptor); mapNode.AddDescriptor(toDescriptor); } }
public CompendiumTransclusionRelationship(IRelationship relationship, CompendiumViewRelationship viewRelationship, INode toNode, INode fromNode, INode transclusionNode, INode mapNode) : this() { _toNode = toNode; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(toNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumToDescriptor>()); _descriptors.Add(toDescriptor); _toNode.AddDescriptor(toDescriptor); _fromNode = fromNode; IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(fromNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumFromDescriptor>()); _descriptors.Add(fromDescriptor); _fromNode.AddDescriptor(fromDescriptor); _transclusionNode = transclusionNode; IDescriptor transclusionNodeDescriptor = new CompendiumRelationshipDescriptor(transclusionNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumTransclusionNodeDescriptor>()); _descriptors.Add(transclusionNodeDescriptor); _transclusionNode.AddDescriptor(transclusionNodeDescriptor); _mapNode = mapNode; IDescriptor mapDescriptor = new CompendiumRelationshipDescriptor(mapNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumTransclusionMapDescriptor>()); _descriptors.Add(mapDescriptor); _mapNode.AddDescriptor(mapDescriptor); this.Id = relationship.Id; this.Created = relationship.Created; this.CreatedBy = relationship.CreatedBy; this.LastModified = relationship.LastModified; this.Name = relationship.Name; this.XPosition = viewRelationship.XPosition; this.YPosition = viewRelationship.YPosition; }
public static void CreateMapRelationship(INode mapNode, INode childNode) { if (childNode != null && mapNode != null) { foreach (IDescriptor descriptor in childNode.Descriptors) { if (descriptor.Relationship is CompendiumMapRelationship) { foreach (IDescriptor altDesc in descriptor.Relationship.Descriptors) { if (altDesc.DescriptorType is CompendiumToDescriptor) { if (altDesc.Node.Id == mapNode.Id) { return; } } } } } CompendiumMapRelationship mapRelationship = new CompendiumMapRelationship(); mapRelationship.Id = mapNode.Id + childNode.Id; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(mapNode, mapRelationship, IoCContainer.GetInjectionInstance().GetInstance <CompendiumToDescriptor>()); IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(childNode, mapRelationship, IoCContainer.GetInjectionInstance().GetInstance <CompendiumFromDescriptor>()); mapRelationship.Descriptors = new IDescriptor[] { fromDescriptor, toDescriptor }; childNode.AddDescriptor(fromDescriptor); mapNode.AddDescriptor(toDescriptor); } }
public CompendiumTransclusionRelationship(IRelationship relationship, CompendiumViewRelationship viewRelationship, INode toNode, INode fromNode, INode transclusionNode, INode mapNode) : this() { _toNode = toNode; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(toNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumToDescriptor>()); _descriptors.Add(toDescriptor); _toNode.AddDescriptor(toDescriptor); _fromNode = fromNode; IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(fromNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumFromDescriptor>()); _descriptors.Add(fromDescriptor); _fromNode.AddDescriptor(fromDescriptor); _transclusionNode = transclusionNode; IDescriptor transclusionNodeDescriptor = new CompendiumRelationshipDescriptor(transclusionNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumTransclusionNodeDescriptor>()); _descriptors.Add(transclusionNodeDescriptor); _transclusionNode.AddDescriptor(transclusionNodeDescriptor); _mapNode = mapNode; IDescriptor mapDescriptor = new CompendiumRelationshipDescriptor(mapNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumTransclusionMapDescriptor>()); _descriptors.Add(mapDescriptor); _mapNode.AddDescriptor(mapDescriptor); this.Id = relationship.Id; this.Created = relationship.Created; this.CreatedBy = relationship.CreatedBy; this.LastModified = relationship.LastModified; this.Name = relationship.Name; this.XPosition = viewRelationship.XPosition; this.YPosition = viewRelationship.YPosition; }
public void BuildRelationships(Dictionary <string, INode> nodeList) { bool nodeListContainsFrom = nodeList.ContainsKey(_from); bool nodeListContainsTo = nodeList.ContainsKey(_to); INode fromNode = null; INode toNode = null; if (nodeListContainsFrom && nodeListContainsTo) { fromNode = nodeList[_from]; _fromNode = fromNode; IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(fromNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumFromDescriptor>()); _descriptors.Add(fromDescriptor); fromNode.AddDescriptor(fromDescriptor); toNode = nodeList[_to]; _toNode = toNode; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(toNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumToDescriptor>()); _descriptors.Add(toDescriptor); toNode.AddDescriptor(toDescriptor); } }
public void BuildRelationships(Dictionary<string, INode> nodeList) { bool nodeListContainsFrom = nodeList.ContainsKey(_from); bool nodeListContainsTo = nodeList.ContainsKey(_to); INode fromNode = null; INode toNode = null; if (nodeListContainsFrom && nodeListContainsTo) { fromNode = nodeList[_from]; _fromNode = fromNode; IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(fromNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumFromDescriptor>()); _descriptors.Add(fromDescriptor); fromNode.AddDescriptor(fromDescriptor); toNode = nodeList[_to]; _toNode = toNode; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(toNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumToDescriptor>()); _descriptors.Add(toDescriptor); toNode.AddDescriptor(toDescriptor); } }
public bool ConsumeLinkXml(Dictionary <string, INode> nodeList, XmlReader xml, string domainNodeId) { bool foundDomainNodeLink = false; if (xml != null && xml.NodeType == XmlNodeType.Element && xml.Name == "link") { #region Attribute Values #region Id if (xml.MoveToAttribute("id")) { Id = xml.Value; } #endregion #region NodeType - Not Currently Used /* * if (xml.MoveToAttribute("type")) * { * switch (xml.Value) * { * case ConNodeTypeId: * _nodeType = IoCContainer.GetInjectionInstance().GetInstance<ConNode>(); * break; * * case DecisionNodeTypeId: * _nodeType = IoCContainer.GetInjectionInstance().GetInstance<DecisionNode>(); * break; * * case IdeaNodeTypeId: * _nodeType = IoCContainer.GetInjectionInstance().GetInstance<IdeaNode>(); * break; * * case MapNodeTypeId: * _nodeType = IoCContainer.GetInjectionInstance().GetInstance<MapNode>(); * break; * * case ProNodeTypeId: * _nodeType = IoCContainer.GetInjectionInstance().GetInstance<ProNode>(); * break; * * case QuestionNodeTypeId: * _nodeType = IoCContainer.GetInjectionInstance().GetInstance<QuestionNode>(); * break; * * default: * break; * } * } */ #endregion #region CreatedBy if (xml.MoveToAttribute("author")) { CreatedBy = xml.Value; } #endregion #region Created if (xml.MoveToAttribute("created")) { string createdMillisecondsXmlValue = xml.Value; long createdMilliseconds; if (long.TryParse(createdMillisecondsXmlValue, out createdMilliseconds)) { Created = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); Created = Created.AddMilliseconds(createdMilliseconds); } } #endregion #region LastModified if (xml.MoveToAttribute("lastModified")) { string lastModifiedMillisecondsXmlValue = xml.Value; long lastModifiedMilliseconds; if (long.TryParse(lastModifiedMillisecondsXmlValue, out lastModifiedMilliseconds)) { LastModified = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); LastModified = LastModified.AddMilliseconds(lastModifiedMilliseconds); } } #endregion #region Name if (xml.MoveToAttribute("label")) { Name = xml.Value; } #endregion #region LastModifiedBy - Not Currently Used /* * if (xml.MoveToAttribute("lastModificationAuthor")) * { * LastModifiedBy = xml.Value; * } */ #endregion #endregion INode fromNode = null; if (xml.MoveToAttribute("from")) { string from = xml.Value; fromNode = nodeList[from]; IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(fromNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumFromDescriptor>()); _descriptors.Add(fromDescriptor); fromNode.AddDescriptor(fromDescriptor); } INode toNode = null; if (xml.MoveToAttribute("to")) { string to = xml.Value; toNode = nodeList[to]; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(toNode, this, IoCContainer.GetInjectionInstance().GetInstance <CompendiumToDescriptor>()); _descriptors.Add(toDescriptor); toNode.AddDescriptor(toDescriptor); } while (xml.Read()) { if (xml.NodeType == XmlNodeType.Element && xml.Name == "linkview") { ViewId = xml.GetAttribute("id"); if (domainNodeId == ViewId) { foundDomainNodeLink = true; } } else if (xml.NodeType == XmlNodeType.EndElement && xml.Name == "link") { break; } } } return(foundDomainNodeLink); }
public bool ConsumeLinkXml(Dictionary<string, INode> nodeList, XmlReader xml, string domainNodeId) { bool foundDomainNodeLink = false; if (xml != null && xml.NodeType == XmlNodeType.Element && xml.Name == "link") { #region Attribute Values #region Id if (xml.MoveToAttribute("id")) { Id = xml.Value; } #endregion #region NodeType - Not Currently Used /* if (xml.MoveToAttribute("type")) { switch (xml.Value) { case ConNodeTypeId: _nodeType = IoCContainer.GetInjectionInstance().GetInstance<ConNode>(); break; case DecisionNodeTypeId: _nodeType = IoCContainer.GetInjectionInstance().GetInstance<DecisionNode>(); break; case IdeaNodeTypeId: _nodeType = IoCContainer.GetInjectionInstance().GetInstance<IdeaNode>(); break; case MapNodeTypeId: _nodeType = IoCContainer.GetInjectionInstance().GetInstance<MapNode>(); break; case ProNodeTypeId: _nodeType = IoCContainer.GetInjectionInstance().GetInstance<ProNode>(); break; case QuestionNodeTypeId: _nodeType = IoCContainer.GetInjectionInstance().GetInstance<QuestionNode>(); break; default: break; } } */ #endregion #region CreatedBy if (xml.MoveToAttribute("author")) { CreatedBy = xml.Value; } #endregion #region Created if (xml.MoveToAttribute("created")) { string createdMillisecondsXmlValue = xml.Value; long createdMilliseconds; if (long.TryParse(createdMillisecondsXmlValue, out createdMilliseconds)) { Created = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); Created = Created.AddMilliseconds(createdMilliseconds); } } #endregion #region LastModified if (xml.MoveToAttribute("lastModified")) { string lastModifiedMillisecondsXmlValue = xml.Value; long lastModifiedMilliseconds; if (long.TryParse(lastModifiedMillisecondsXmlValue, out lastModifiedMilliseconds)) { LastModified = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); LastModified = LastModified.AddMilliseconds(lastModifiedMilliseconds); } } #endregion #region Name if (xml.MoveToAttribute("label")) { Name = xml.Value; } #endregion #region LastModifiedBy - Not Currently Used /* if (xml.MoveToAttribute("lastModificationAuthor")) { LastModifiedBy = xml.Value; } */ #endregion #endregion INode fromNode = null; if (xml.MoveToAttribute("from")) { string from = xml.Value; fromNode = nodeList[from]; IDescriptor fromDescriptor = new CompendiumRelationshipDescriptor(fromNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumFromDescriptor>()); _descriptors.Add(fromDescriptor); fromNode.AddDescriptor(fromDescriptor); } INode toNode = null; if (xml.MoveToAttribute("to")) { string to = xml.Value; toNode = nodeList[to]; IDescriptor toDescriptor = new CompendiumRelationshipDescriptor(toNode, this, IoCContainer.GetInjectionInstance().GetInstance<CompendiumToDescriptor>()); _descriptors.Add(toDescriptor); toNode.AddDescriptor(toDescriptor); } while (xml.Read()) { if (xml.NodeType == XmlNodeType.Element && xml.Name == "linkview") { ViewId = xml.GetAttribute("id"); if (domainNodeId == ViewId) { foundDomainNodeLink = true; } } else if (xml.NodeType == XmlNodeType.EndElement && xml.Name == "link") { break; } } } return foundDomainNodeLink; }