public void TransactionProxyHasMultipleValuesMethod()
        {
            var target1 = new NonVirtualBaseProperties
            {
                IntProperty       = 1234,
                StringProperty    = "test",
                ByteArrayProperty = new byte[] { 1, 2, 3 }
            };

            var target2 = new NonVirtualBaseProperties
            {
                IntProperty       = 123,
                StringProperty    = "test",
                ByteArrayProperty = new byte[] { 1, 2, 3 }
            };

            ITransactionProxy proxy = (ITransactionProxy)TransactionProxyCreator.Current.CreateProxy <NonVirtualBaseProperties>(target1, target2);

            Assert.True(proxy.HasMultipleValues("IntProperty"));
            Assert.False(proxy.HasMultipleValues("StringProperty"));
            Assert.False(proxy.HasMultipleValues("ByteArrayProperty"));

            ((dynamic)proxy).IntProperty = 678;

            Assert.False(proxy.HasMultipleValues("IntProperty"));
        }
        public void TransactionProxyNonExistantPropertyHasMultipleValues()
        {
            var target1 = new NonVirtualBaseProperties();

            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                ITransactionProxy proxy = (ITransactionProxy)TransactionProxyCreator.Current.CreateProxy <NonVirtualBaseProperties>(target1);

                var result = proxy.HasMultipleValues("WhateverProperty");
            });
        }
Beispiel #3
0
 /// <summary>
 /// Create a WebServiceTransaction instance.
 /// </summary>
 /// <param name="clientInformation">Client information.</param>
 /// <param name="proxy">Web service proxy with transaction handling.</param>
 /// <param name="timeout">
 /// Time before transaction timeouts if has not already finished.
 /// Unit is seconds.
 /// </param>
 public WebServiceTransaction(WebClientInformation clientInformation,
                              ITransactionProxy proxy,
                              Int32 timeout)
 {
     _start             = DateTime.Now;
     _proxy             = proxy;
     _timeout           = timeout;
     _clientInformation = clientInformation;
     _proxy.StartTransaction(_clientInformation, timeout);
     _isTransactionActive = true;
 }
        public void TransactionProxyGetValueEntriesMethod()
        {
            var target1 = new NonVirtualBaseProperties
            {
                IntProperty       = 1234,
                StringProperty    = "test",
                ByteArrayProperty = new byte[] { 1, 2, 3 }
            };

            var target2 = new NonVirtualBaseProperties
            {
                IntProperty       = 123,
                StringProperty    = "test",
                ByteArrayProperty = new byte[] { 1, 2, 3 }
            };

            ITransactionProxy proxy = (ITransactionProxy)TransactionProxyCreator.Current.CreateProxy <NonVirtualBaseProperties>(target1, target2);
            ITransactionProxy <NonVirtualBaseProperties> typedProxy = (ITransactionProxy <NonVirtualBaseProperties>)proxy;

            var typedValues = typedProxy.GetValueEntries("IntProperty").ToList();
            var values      = proxy.GetValueEntries("IntProperty").ToList();

            Assert.NotNull(values);
            Assert.NotNull(typedValues);

            Assert.Equal(2, values.Count);
            Assert.Equal(2, typedValues.Count);

            typedValues = typedProxy.GetValueEntries("StringProperty").ToList();
            values      = proxy.GetValueEntries("StringProperty").ToList();

            Assert.NotNull(values);
            Assert.NotNull(typedValues);

            Assert.Equal(1, values.Count);
            Assert.Equal(1, typedValues.Count);
        }
Beispiel #5
0
        public TransactionProcessor(
            ITransactionProxy transactionProxy,
            IContractTransactionProcessor contractTransactionProcessor,
            IValueTransactionProcessor valueTransactionProcessor,
            IContractCreationTransactionProcessor contractCreationTransactionProcessor,
            ITransactionLogProcessor transactionLogProcessor,
            IEnumerable <ITransactionFilter> transactionFilters = null,
            IEnumerable <ITransactionReceiptFilter> transactionReceiptFilters       = null,
            IEnumerable <ITransactionAndReceiptFilter> transactionAndReceiptFilters = null)
        {
            TransactionProxy                      = transactionProxy;
            ContractTransactionProcessor          = contractTransactionProcessor;
            _valueTransactionProcessor            = valueTransactionProcessor;
            _contractCreationTransactionProcessor = contractCreationTransactionProcessor;
            _transactionLogProcessor              = transactionLogProcessor;
            _transactionFilters                   = new List <ITransactionFilter>(
                transactionFilters ?? new ITransactionFilter[0]);

            _transactionReceiptFilters = new List <ITransactionReceiptFilter>(
                transactionReceiptFilters ?? new ITransactionReceiptFilter[0]);

            _transactionAndReceiptFilters = new List <ITransactionAndReceiptFilter>(
                transactionAndReceiptFilters ?? new ITransactionAndReceiptFilter[0]);
        }
Beispiel #6
0
 /// <summary>
 /// Create a WebServiceTransaction instance.
 /// </summary>
 /// <param name="clientInformation">Client information.</param>
 /// <param name="proxy">Web service proxy with transaction handling.</param>
 public WebServiceTransaction(WebClientInformation clientInformation,
                              ITransactionProxy proxy)
     : this(clientInformation, proxy, Settings.Default.DefaultTransactionTimeout)
 {
 }
Beispiel #7
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="providerProxy"></param>
 /// <param name="transactionProxy"></param>
 public CreateTransactionAsyncCmdHandler(ICurrencyProxy providerProxy, ITransactionProxy transactionProxy)
 {
     _providerProxy    = providerProxy ?? throw new ArgumentNullException(nameof(providerProxy));
     _transactionProxy = transactionProxy ?? throw new ArgumentNullException(nameof(transactionProxy));
 }