public Task TransferArrived(decimal amount) { var evt = new TransferArrivedEvent { Amount = amount, Balance = this.Snapshot.Data.Balance + amount, }; return(this.RaiseEvent(evt)); }
public async Task EventHandle(TransferArrivedEvent evt, EventMeta eventBase) { using (var db = this.ServiceProvider.GetService <TransferDbContext>()) { var entity = await db.Accounts.FirstOrDefaultAsync(x => x.Id == this.ActorId); this.accountSnapshotHandler.EntityHandle(entity, evt); await db.SaveChangesAsync(); } }
public Task TransferArrived(decimal amount, EventUID uid) { return(ConcurrentRaiseEvent(async(snapshot, func) => { var evt = new TransferArrivedEvent { Amount = amount, Balance = Snapshot.State.Balance + amount }; await func(evt, null); })); }
public Task TransferArrived(decimal amount, long transactionId) { return(ConcurrentTxRaiseEvent(transactionId, async(snapshot, func) => { var evt = new TransferArrivedEvent { Amount = amount, Balance = Snapshot.State.Balance + amount }; await func(evt, null); })); }
public void EventHandle(AccountState state, TransferArrivedEvent evt) { state.Balance = evt.Balance; }
public Task EventHandle(TransferArrivedEvent evt, EventMeta eventBase) { // Update database here return(Task.CompletedTask); }
public Task EventHandle(TransferArrivedEvent evt, EventBase eventBase) { //此处更新db return(Task.CompletedTask); }
public void EntityHandle(Account entity, TransferArrivedEvent evt) { entity.Balance = evt.Balance; }
public void EventHandle(AccountSnapshot state, TransferArrivedEvent evt) { EntityHandle(state, evt); }