public void StoreOutgoingEdge( IVertexStore myStore, VertexInformation myVertex, String myName, String myComment, bool myIsUserDefined, Int64 myCreationDate, EdgeMultiplicity myMultiplicity, VertexInformation myDefiningType, VertexInformation myEdgeType, VertexInformation?myInnerEdgeType, //not mandatory, might be null VertexInformation myTarget, SecurityToken mySecurity, Int64 myTransaction) { var singleEdges = new Dictionary <Tuple <long, long>, VertexInformation> { { _EdgeAttributeDotDefiningType, myDefiningType }, { _EdgeOutgoingEdgeDotSource, myDefiningType }, { _EdgeOutgoingEdgeDotEdgeType, myEdgeType }, { _EdgeOutgoingEdgeDotTarget, myTarget } }; if (myMultiplicity == EdgeMultiplicity.MultiEdge) { singleEdges.Add(_EdgeOutgoingEdgeDotInnerEdgeType, myInnerEdgeType.Value); } Store( myStore, myVertex, myComment, myCreationDate, singleEdges, null, new Dictionary <long, IComparable> { { (long)AttributeDefinitions.AttributeDotName, myName }, { (long)AttributeDefinitions.AttributeDotIsUserDefined, myIsUserDefined }, { (long)AttributeDefinitions.OutgoingEdgeDotMultiplicity, (byte)myMultiplicity }, }, null, mySecurity, myTransaction ); }
/// <summary> /// Converts EdgeMultiplicity into serializable ServiceEdgeMultiplicity, default: SingleEdge. /// </summary> /// <param name="myMultiplicity"></param> /// <returns></returns> public static ServiceEdgeMultiplicity ToServiceEdgeMultiplicity(EdgeMultiplicity myMultiplicity) { ServiceEdgeMultiplicity multiplicity; switch (myMultiplicity) { case EdgeMultiplicity.MultiEdge: multiplicity = ServiceEdgeMultiplicity.MultiEdge; break; case EdgeMultiplicity.HyperEdge: multiplicity = ServiceEdgeMultiplicity.HyperEdge; break; default: multiplicity = ServiceEdgeMultiplicity.SingleEdge; break; } return multiplicity; }
/// <summary> /// Converts EdgeMultiplicity into serializable ServiceEdgeMultiplicity, default: SingleEdge. /// </summary> /// <param name="myMultiplicity"></param> /// <returns></returns> internal static ServiceEdgeMultiplicity ToServiceEdgeMultiplicity(EdgeMultiplicity myMultiplicity) { ServiceEdgeMultiplicity multiplicity; switch (myMultiplicity) { case EdgeMultiplicity.MultiEdge: multiplicity = ServiceEdgeMultiplicity.MultiEdge; break; case EdgeMultiplicity.HyperEdge: multiplicity = ServiceEdgeMultiplicity.HyperEdge; break; default: multiplicity = ServiceEdgeMultiplicity.SingleEdge; break; } return(multiplicity); }
public static void StoreOutgoingEdge( IVertexStore myStore, VertexInformation myVertex, String myName, String myComment, bool myIsUserDefined, Int64 myCreationDate, EdgeMultiplicity myMultiplicity, VertexInformation myDefiningType, VertexInformation myEdgeType, VertexInformation? myInnerEdgeType, //not mandatory, might be null VertexInformation myTarget, SecurityToken mySecurity, TransactionToken myTransaction) { var singleEdges = new Dictionary<Tuple<long, long>, VertexInformation> { { _EdgeAttributeDotDefiningType, myDefiningType }, { _EdgeOutgoingEdgeDotSource, myDefiningType }, { _EdgeOutgoingEdgeDotEdgeType, myEdgeType }, { _EdgeOutgoingEdgeDotTarget, myTarget } }; if (myMultiplicity == EdgeMultiplicity.MultiEdge) { singleEdges.Add(_EdgeOutgoingEdgeDotInnerEdgeType, myInnerEdgeType.Value); } Store( myStore, myVertex, myComment, myCreationDate, singleEdges, null, new Dictionary<long, IComparable> { { (long) AttributeDefinitions.AttributeDotName, myName }, { (long) AttributeDefinitions.AttributeDotIsUserDefined, myIsUserDefined }, { (long) AttributeDefinitions.OutgoingEdgeDotMultiplicity, (byte) myMultiplicity }, }, null, mySecurity, myTransaction ); }
/// <summary> /// Sets the edge multiplicity of this edge to MultiEdge. /// </summary> /// <returns>The reference of the current object. (fluent interface).</returns> public OutgoingEdgePredefinition SetMultiplicityAsMultiEdge(String myInnerEdgeType = null) { InnerEdgeType = myInnerEdgeType ?? Edge; Multiplicity = EdgeMultiplicity.MultiEdge; return this; }
/// <summary> /// Sets the edge multiplicity of this edge to HyperEdge. /// </summary> /// <returns>The reference of the current object. (fluent interface).</returns> public OutgoingEdgePredefinition SetMultiplicityAsHyperEdge() { InnerEdgeType = null; Multiplicity = EdgeMultiplicity.HyperEdge; return this; }