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); } }
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); } }