コード例 #1
0
 public override void CommitEffect()
 {
     MarkAsProcessed();
     withdrawalStorage.Add(withdrawal);
     withdrawal.Source.Withdrawal         = withdrawal;
     withdrawal.Source.Account.Withdrawal = withdrawal.Apex;
     foreach (var withdrawalItem in Effect.Items)
     {
         Effect.AccountWrapper.Account.GetBalance(withdrawalItem.Asset).UpdateLiabilities(withdrawalItem.Amount);
     }
 }
コード例 #2
0
        public override void RevertEffect()
        {
            MarkAsProcessed();
            withdrawalStorage.Add(withdrawal);
            withdrawal.Source.Withdrawal         = withdrawal;
            withdrawal.Source.Account.Withdrawal = withdrawal.Apex;

            foreach (var withdrawalItem in Effect.Items)
            {
                var balance = Effect.AccountWrapper.Account.GetBalance(withdrawalItem.Asset);
                if (Effect.IsSuccessful)
                {
                    balance.UpdateBalance(withdrawalItem.Amount);
                }
                balance.UpdateLiabilities(withdrawalItem.Amount);
            }
        }