Beispiel #1
0
        public async Task AmountAddEventHandler(AmountTransferEvent value)
        {
            var toActor = GrainFactory.GetGrain <IAccount>(value.ToAccountId);
            var balance = await toActor.GetBalance();

            await toActor.AddAmount(value.Amount, value.Id);
        }
Beispiel #2
0
        public Task AmountAddEventHandler(AmountTransferEvent value)
        {
            var toActor = HandlerStart.Client.GetGrain <IAccount>(value.ToAccountId);

            return(toActor.AddAmount(value.Amount, value.Id));
        }
Beispiel #3
0
        public Task Transfer(long toAccountId, decimal amount)
        {
            var evt = new AmountTransferEvent(toAccountId, amount, Snapshot.State.Balance - amount);

            return(RaiseEvent(evt));
        }
Beispiel #4
0
        public Task EventHandler(AmountTransferEvent value, EventBase eventBase)
        {
            var toActor = GrainFactory.GetGrain <IAccount>(value.ToAccountId);

            return(toActor.AddAmount(value.Amount, new EventUID(eventBase.GetEventId(GrainId.ToString()), eventBase.Timestamp)));
        }
Beispiel #5
0
        public Task Transfer(string toAccountId, decimal amount)
        {
            var evt = new AmountTransferEvent(toAccountId, amount, this.State.Balance - amount);

            return(RaiseEvent(evt).AsTask());
        }
Beispiel #6
0
 public void EventHandle(AccountState state, AmountTransferEvent evt)
 {
     state.Balance = evt.Balance;
 }
Beispiel #7
0
 public Task EventHandler(AmountTransferEvent evt, EventBase eventBase)
 {
     //Console.WriteLine($"更新数据库->用户转账,当前账户ID:{evt.StateId},目标账户ID:{evt.ToAccountId},转账金额:{evt.Amount},当前余额为:{evt.Balance}");
     return(Task.CompletedTask);
 }
Beispiel #8
0
        public Task AmountAddEventHandler(AmountTransferEvent value)
        {
            var toActor = GrainFactory.GetGrain <IAccount>(value.ToAccountId);

            return(toActor.AddAmount(value.Amount));
        }
Beispiel #9
0
 public Task AmountTransferEventHandler(AmountTransferEvent evt)
 {
     //Console.WriteLine($"更新数据库->用户转账,当前账户ID:{evt.StateId},目标账户ID:{evt.ToAccountId},转账金额:{evt.Amount},当前余额为:{evt.Balance}");
     return(Task.Delay(20));
 }
Beispiel #10
0
 public async Task AmountAddEventHandler(AmountTransferEvent value)
 {
     var toActor = GrainFactory.GetGrain <IAccount>(value.ToAccountId);
     await toActor.AddAmount(value.Amount, value.GetUniqueId());
 }
Beispiel #11
0
 public Task AmountTransferEventHandler(AmountTransferEvent value)
 {
     System.Console.WriteLine($"数据库->用户转账,当前账户ID:{value.StateId},目标账户ID:{value.ToAccountId},转账金额:{value.Amount},当前余额为:{value.Balance}");
     return(Task.CompletedTask);
 }