示例#1
0
 public AccountTransactionViewModel(IWorkspace workspace, AccountTransaction model, AccountTransactionDocument document)
 {
     Model      = model ?? AccountTransaction.Null;
     _document  = document;
     _workspace = workspace;
     _accountTransactionType =
         AccountTransactionTypes.SingleOrDefault(x => x.Id == Model.AccountTransactionTypeId);
 }
        private async Task <AccountTransaction> SaveAccountTransaction(UserAccount userAccount, AccountTransactionTypes transactionType, decimal amount)
        {
            // when transaction is withdrawal type then amount becomes negative
            if (transactionType == AccountTransactionTypes.Withdrawal)
            {
                amount *= -1;
            }

            AccountTransaction accountTransaction = new AccountTransaction
            {
                UserAccount  = userAccount,
                Amount       = amount,
                UserRegister = await _identityApp.GetUser(AppDbContext),
                State        = await AppDbContext
                               .FindGenericElementByIdAsync <AccountTransactionState>((long)AccountTransactionStates.Approved),
                Type = await AppDbContext
                       .FindGenericElementByIdAsync <AccountTransactionType>((long)transactionType)
            };

            return(await CreateFromEntityAsync(accountTransaction));
        }