public static void CheckDebitTransaction(AmountTransaction amountTransaction) { if (amountTransaction.TransactionType == (int)TransactionType.Debit && amountTransaction.BalanceLeft > amountTransaction.Amount) { throw new Exception(); } }
public static void InsertUpdateAmountTransaction(AmountTransaction amountTransaction, int?_memberAccountId = null) { CheckDebitTransaction(amountTransaction); amountTransaction.Id = Common.UniqueTransactionId(); if (_memberAccountId.HasValue) { amountTransaction.MemberAccountId = amountTransaction.MemberAccountId == 0 ? _memberAccountId.Value : amountTransaction.MemberAccountId; } Repository.Instance.Update(amountTransaction); }
public bool AddOtherCharges(AmountTransaction transaction) { try { transaction.TransactionType = (int)TransactionType.Debit; transaction.StatusId = (int)AmountTransactionStatus.Pending; SavingAccountModel.InsertUpdateAmountTransaction(transaction, _memberAccountId); return(true); } catch (Exception ex) { return(false); } }
public bool Withdraw(AmountTransaction transaction) { try { transaction.TransactionType = (int)TransactionType.Debit; transaction.StatusId = (int)AmountTransactionStatus.Pending; transaction.TransactionPurposeId = SavingAccountModel.GetForcefullyTransactionPurposeIdByName(TransactionPurposeType.Withdraw.ToString()); SavingAccountModel.InsertUpdateAmountTransaction(transaction); return(true); } catch (Exception ex) { return(false); } }
public bool AddDeposit(AmountTransaction transaction) { try { transaction.TransactionType = (int)TransactionType.Credit; transaction.StatusId = (int)AmountTransactionStatus.Pending; transaction.TransactionPurposeId = SavingAccountModel.GetForcefullyTransactionPurposeIdByName(TransactionPurposeType.Deposit.ToString()); SavingAccountModel.InsertUpdateAmountTransaction(transaction, _memberAccountId); return(true); } catch (Exception ex) { return(false); } }
public void Create(AmountTransaction transaction) { _amazingBankContext.Add <AmountTransaction>(transaction); }