Esempio n. 1
0
        internal override TransactionExecutingStateSet GetChanges()
        {
            var stateSet = new TransactionExecutingStateSet();

            foreach (var kv in _propertyInfos)
            {
                var propertyInfo  = kv.Value;
                var propertyValue = (StateBase)propertyInfo.GetValue(this);
                var changes       = propertyValue.GetChanges();
                foreach (var kv1 in changes.Writes)
                {
                    stateSet.Writes[kv1.Key] = kv1.Value;
                }

                foreach (var kv1 in changes.Deletes)
                {
                    stateSet.Deletes[kv1.Key] = kv1.Value;
                }

                foreach (var kv1 in changes.Reads)
                {
                    stateSet.Reads[kv1.Key] = kv1.Value;
                }
            }

            return(stateSet);
        }
Esempio n. 2
0
        internal override TransactionExecutingStateSet GetChanges()
        {
            var stateSet = new TransactionExecutingStateSet();

            foreach (var kv in Cache)
            {
                if (!Equals(kv.Value.OriginalValue, kv.Value.Value))
                {
                    var key = GetSubStatePath(kv.Key.ToString()).ToStateKey(Context.Self);
                    stateSet.Writes[key] = ByteString.CopyFrom(SerializationHelper.Serialize(kv.Value.Value));
                }
            }

            return(stateSet);
        }
Esempio n. 3
0
        private IEnumerable <TransactionExecutingStateSet> GetTransactionExecutingStateSets()
        {
            var firstKey  = FirstPath.ToStateKey();
            var secondKey = SecondPath.ToStateKey();
            var transactionExecutingStateSets = new List <TransactionExecutingStateSet>();
            var transactionExecutingStateSet  = new TransactionExecutingStateSet
            {
                Writes  = { { firstKey, FirstValue } },
                Deletes = { { secondKey, true } }
            };

            transactionExecutingStateSets.Add(transactionExecutingStateSet);
            transactionExecutingStateSet = new TransactionExecutingStateSet
            {
                Writes  = { { secondKey, SecondValue } },
                Deletes = { { firstKey, true } }
            };
            transactionExecutingStateSets.Add(transactionExecutingStateSet);
            return(transactionExecutingStateSets);
        }
Esempio n. 4
0
 partial void OnConstruction()
 {
     StateSet = new TransactionExecutingStateSet();
 }