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); }
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); }
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); }
partial void OnConstruction() { StateSet = new TransactionExecutingStateSet(); }