public void AddRelationshipTypes(IEnumerable <Service.RT> serviceRelationshipTypes)
        {
            foreach (Service.RT serviceRelationshipType in serviceRelationshipTypes)
            {
                Proxy.RelationshipType proxyRelationshipType = new Proxy.RelationshipType();
                proxyRelationshipType.LoadTypeInfo(serviceRelationshipType);

                RelationshipTypes.Add(serviceRelationshipType, proxyRelationshipType);
            }
        }
Exemple #2
0
        public Proxy.IRelationship CreateRelationship(Guid domainId, Guid rootMapId, Proxy.RelationshipType relationshipType, string originalId, ref TransactionFramework.TransactionChain chain)
        {
            TransactionFramework.AddRelationshipTransactionLink createRelationshipTransaction = new TransactionFramework.AddRelationshipTransactionLink();
            createRelationshipTransaction.MapManager       = this;
            createRelationshipTransaction.DomainId         = domainId;
            createRelationshipTransaction.RootMapId        = rootMapId;
            createRelationshipTransaction.RelationshipType = relationshipType;
            createRelationshipTransaction.OriginalId       = originalId;

            chain.AddTransaction(createRelationshipTransaction);

            Proxy.IRelationship relationship = createRelationshipTransaction.CreateInProcessObjects();

            return(relationship);
        }
        public override void Update(Proxy.RelationshipType relationshipType, ref TransactionFramework.TransactionChain chain)
        {
            RelationshipType = relationshipType;

            if (LastUpdateRelationship != null && LastUpdateRelationship.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient)
            {
                LastUpdateRelationship.RelationshipType = relationshipType;
            }
            else
            {
                LastUpdateRelationship = CreateNewUpdateRelationship();
                LastUpdateRelationship.RelationshipType = relationshipType;
                chain.AddTransaction(LastUpdateRelationship);
            }

            chain.TransactionExecuting += OnTransactionExecuting;
        }
        public override void Update(Proxy.RelationshipType relationshipType, ref Soap.TransactionFramework.TransactionChain chain)
        {
            if (Facade != null)
            {
                TransactionFramework.AddRelationshipTransactionLink addRelationshipTransaction = Facade.TransactionOrigin as TransactionFramework.AddRelationshipTransactionLink;

                if (addRelationshipTransaction != null)
                {
                    if (addRelationshipTransaction.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient)
                    {
                        addRelationshipTransaction.RelationshipType = relationshipType;

                        return;
                    }
                }
            }

            DelayedActions.Enqueue(new DelayedRelationshipAction()
            {
                Action = Proxy.TransactionActionType.TypeUpdated, RelationshipType = relationshipType
            });
        }
Exemple #5
0
 public abstract void Update(RelationshipType relationshipType, ref Soap.TransactionFramework.TransactionChain chain);