private static IComparable GetValue(this IPropertyDefinition myProperty, IEdge myEdge) { if (myProperty.RelatedType == null) throw new ArgumentException("A property with nor related type is not allowed."); if (!myProperty.RelatedType.Name.Equals(GlobalConstants.Edge)) return myEdge.GetProperty<IComparable>(myProperty.ID); switch (myProperty.Name) { case GlobalConstants.EdgeDotComment: return myEdge.Comment; case GlobalConstants.EdgeDotCreationDate: return myEdge.CreationDate; case GlobalConstants.EdgeDotModificationDate: return myEdge.ModificationDate; case GlobalConstants.EdgeDotEdgeTypeID: return myEdge.EdgeTypeID; case GlobalConstants.EdgeDotEdgeTypeName: return myProperty.RelatedType.GetDescendantTypesAndSelf().Where(_ => _.ID == myEdge.EdgeTypeID).Select(__ => __.Name).FirstOrDefault(); default: throw new System.Exception( "A new property was added to the edeg type Edge, but this switch stement was not changed."); } }
public void Should_Handle_Edge_Id_As_Parameter() { using (var cluster = ClusterBuilder() .AddContactPoint(TestClusterManager.InitialContactPoint) .WithGraphOptions(new GraphOptions().SetName(GraphTests.GraphName)) .Build()) { var session = cluster.Connect(); var rs = session.ExecuteGraph(new SimpleGraphStatement("g.E().has('weight', 0.5)")); var markoKnowsVadasEdge = rs.To <IEdge>().First(); var rsById = session.ExecuteGraph(new SimpleGraphStatement("g.E(edgeId)", new { edgeId = markoKnowsVadasEdge.Id })); Assert.NotNull(rsById); var byIdResultArray = rsById.ToArray(); Assert.AreEqual(1, byIdResultArray.Length); IEdge byIdMarkoEdge = (Edge)byIdResultArray[0]; Assert.NotNull(byIdMarkoEdge); Assert.AreEqual(markoKnowsVadasEdge.Id, byIdMarkoEdge.Id); Assert.AreEqual(markoKnowsVadasEdge.Label, byIdMarkoEdge.Label); Assert.AreEqual(markoKnowsVadasEdge.GetProperty("weight").Value.ToDouble(), byIdMarkoEdge.GetProperty("weight").Value.ToDouble()); } }
private static IComparable GetValue(this IPropertyDefinition myProperty, IEdge myEdge) { if (myProperty.RelatedType == null) { throw new ArgumentException("A property with nor related type is not allowed."); } if (!myProperty.RelatedType.Name.Equals(GlobalConstants.Edge)) { return(myEdge.GetProperty <IComparable>(myProperty.ID)); } switch (myProperty.Name) { case GlobalConstants.EdgeDotComment: return(myEdge.Comment); case GlobalConstants.EdgeDotCreationDate: return(myEdge.CreationDate); case GlobalConstants.EdgeDotModificationDate: return(myEdge.ModificationDate); case GlobalConstants.EdgeDotEdgeTypeID: return(myEdge.EdgeTypeID); case GlobalConstants.EdgeDotEdgeTypeName: return(myProperty.RelatedType.GetDescendantTypesAndSelf().Where(_ => _.ID == myEdge.EdgeTypeID).Select(__ => __.Name).FirstOrDefault()); default: throw new System.Exception( "A new property was added to the edeg type Edge, but this switch stement was not changed."); } }
private static IComparable GetValue(this IPropertyDefinition myProperty, IEdge myEdge) { return myEdge.GetProperty<IComparable>(myProperty.ID); }