コード例 #1
0
ファイル: EdgeService.cs プロジェクト: zhouweiaccp/sones
 public bool HasProperty(SecurityToken mySecurityToken, Int64 myTransToken, ServiceEdgeInstance myEdge, long myPropertyID)
 {
     if (myEdge.EdgePropertyID != null)
     {
         var Request      = ServiceRequestFactory.MakeRequestGetVertex(myEdge.SourceVertex.TypeID, myEdge.SourceVertex.VertexID);
         var SourceVertex = this.GraphDS.GetVertex <IVertex>(mySecurityToken, myTransToken, Request, ServiceReturnConverter.ConvertOnlyVertexInstance);
         return(SourceVertex.GetOutgoingEdge((Int64)myEdge.EdgePropertyID).HasProperty(myPropertyID));
     }
     else
     {
         var Request = ServiceRequestFactory.MakeRequestGetVertex(
             (myEdge as ServiceSingleEdgeInstance).HyperEdgeSourceVertex.TypeID,
             (myEdge as ServiceSingleEdgeInstance).HyperEdgeSourceVertex.VertexID);
         var        SourceVertex = this.GraphDS.GetVertex <IVertex>(mySecurityToken, myTransToken, Request, ServiceReturnConverter.ConvertOnlyVertexInstance);
         IHyperEdge HyperEdge    = SourceVertex.GetOutgoingHyperEdge((Int64)myEdge.EdgePropertyID);
         return(HyperEdge.GetAllEdges(delegate(ISingleEdge mySingleEdge){
             return (mySingleEdge.GetSourceVertex().VertexID == myEdge.SourceVertex.VertexID && mySingleEdge.GetTargetVertex().VertexID == (myEdge as ServiceSingleEdgeInstance).TargetVertex.VertexID);
         }).First <ISingleEdge>().HasProperty(myPropertyID));
     }
 }
コード例 #2
0
ファイル: ARemoteEdge.cs プロジェクト: alrehamy/sones
 internal ARemoteEdge(ServiceEdgeInstance myEdge, IServiceToken myServiceToken) : base(myServiceToken)
 {
     _EdgeTypeID   = myEdge.TypeID;
     _SourceVertex = new RemoteVertex(myEdge.SourceVertex, myServiceToken);
 }
コード例 #3
0
ファイル: EdgeService.cs プロジェクト: zhouweiaccp/sones
        public List <Tuple <long, object> > GetAllProperties(SecurityToken mySecurityToken, Int64 myTransToken, ServiceEdgeInstance myEdge)
        {
            IEnumerable <Tuple <long, IComparable> > PropertyCollection;

            if (myEdge.EdgePropertyID != null)
            {
                var Request      = ServiceRequestFactory.MakeRequestGetVertex(myEdge.SourceVertex.TypeID, myEdge.SourceVertex.VertexID);
                var SourceVertex = this.GraphDS.GetVertex <IVertex>(mySecurityToken, myTransToken, Request, ServiceReturnConverter.ConvertOnlyVertexInstance);
                PropertyCollection = SourceVertex.GetOutgoingEdge((Int64)myEdge.EdgePropertyID).GetAllProperties();
            }
            else
            {
                var Request = ServiceRequestFactory.MakeRequestGetVertex(
                    (myEdge as ServiceSingleEdgeInstance).HyperEdgeSourceVertex.TypeID,
                    (myEdge as ServiceSingleEdgeInstance).HyperEdgeSourceVertex.VertexID);
                var        SourceVertex = this.GraphDS.GetVertex <IVertex>(mySecurityToken, myTransToken, Request, ServiceReturnConverter.ConvertOnlyVertexInstance);
                IHyperEdge HyperEdge    = SourceVertex.GetOutgoingHyperEdge((Int64)myEdge.EdgePropertyID);
                PropertyCollection = HyperEdge.GetAllEdges(delegate(ISingleEdge mySingleEdge){
                    return(mySingleEdge.GetSourceVertex().VertexID == myEdge.SourceVertex.VertexID && mySingleEdge.GetTargetVertex().VertexID == (myEdge as ServiceSingleEdgeInstance).TargetVertex.VertexID);
                }).First <ISingleEdge>().GetAllProperties();
            }
            return(PropertyCollection.Select(x => new Tuple <long, object>(x.Item1, (object)x.Item2)).ToList());
        }
コード例 #4
0
 public List <ServiceUnstructuredPropertyContainer> GetAllUnstructuredProperties(SecurityToken mySecurityToken, Int64 myTransToken, ServiceEdgeInstance myEdge)
 {
     if (myEdge.EdgePropertyID != null)
     {
         var Request      = ServiceRequestFactory.MakeRequestGetVertex(myEdge.SourceVertex.TypeID, myEdge.SourceVertex.VertexID);
         var SourceVertex = this.GraphDS.GetVertex <IVertex>(mySecurityToken, myTransToken, Request, ServiceReturnConverter.ConvertOnlyVertexInstance);
         return(SourceVertex.GetOutgoingEdge((Int64)myEdge.EdgePropertyID).GetAllUnstructuredProperties().Select(_ => new ServiceUnstructuredPropertyContainer {
             PropertyName = _.PropertyName, Property = _.Property
         }).ToList());
     }
     else
     {
         var Request = ServiceRequestFactory.MakeRequestGetVertex(
             (myEdge as ServiceSingleEdgeInstance).HyperEdgeSourceVertex.TypeID,
             (myEdge as ServiceSingleEdgeInstance).HyperEdgeSourceVertex.VertexID);
         var        SourceVertex = this.GraphDS.GetVertex <IVertex>(mySecurityToken, myTransToken, Request, ServiceReturnConverter.ConvertOnlyVertexInstance);
         IHyperEdge HyperEdge    = SourceVertex.GetOutgoingHyperEdge((Int64)myEdge.EdgePropertyID);
         return(HyperEdge.GetAllEdges(delegate(ISingleEdge mySingleEdge){
             return (mySingleEdge.GetSourceVertex().VertexID == myEdge.SourceVertex.VertexID && mySingleEdge.GetTargetVertex().VertexID == (myEdge as ServiceSingleEdgeInstance).TargetVertex.VertexID);
         }).First <ISingleEdge>().GetAllUnstructuredProperties().Select(_ => new ServiceUnstructuredPropertyContainer {
             PropertyName = _.PropertyName, Property = _.Property
         }).ToList());
     }
 }