public ActionResult ATMDepositMoney(ATMCardModel atmcard) { atmcard.ErrorDetails = ""; if (atmcard.CashAmount <= 0) { atmcard.ErrorDetails = "Podana kwota musi być większa od zera"; } else { cardsFcd.ATMDepositMoney(atmcard); } return(RedirectToAction("ATMCardSim", new { id = atmcard.Id, errorDetails = atmcard.ErrorDetails })); }
public void ATMDepositMoney(ATMCardModel atmcard) { using (var ts = new TransactionScope()) { cardsDAO.DepositMoneyToAccount(atmcard.AccountId, atmcard.CashAmount); cardsDAO.WithdrawMoneyFromAccount((int)Consts.Consts.AccountNumbers.SystemAccountId, atmcard.CashAmount); cardsDAO.CreateOperationHistory(new DAL.PaymentCardsOperationHistory() { BalanceChange = atmcard.CashAmount, CreditCardId = atmcard.Id, CreditCardTypeId = 1003, DateIssued = DateTime.Now, OperationTypeId = 3001, UserId = atmcard.UserId }); ts.Complete(); } }
public ATMCardModel GetATMCardById(int id) { var atmCard = cardsDAO.GetATMCardById(id); var baseCard = GetPaymentCardById(id); var account = usersFcd.GetUserAccountById(atmCard.AccountId); ATMCardModel atmCardModel = new ATMCardModel() { AccountId = atmCard.AccountId, BaseCardId = atmCard.BaseCardId, DailyLimit = atmCard.DailyLimit, Id = atmCard.Id, BaseCard = baseCard, UsedLimit = CalculateDailyUsedLimit(id), AvailableBalance = account.AvailableBalance, UserId = baseCard.UserId, BoundAccountNumber = account.AccountNumber, OperationsCount = 5, UsedOperationsCount = GetOperationsCount(id) }; return(atmCardModel); }
public ActionResult ATMWithdrawMoney(ATMCardModel atmcard) { atmcard.ErrorDetails = ""; var account = usersFcd.GetUserAccountById(atmcard.AccountId); if (atmcard.CashAmount <= 0) { atmcard.ErrorDetails = "Podana kwota musi być większa od zera"; } else { if (atmcard.CashAmount > atmcard.AvailableBalance - account.BlockedBalance) { atmcard.ErrorDetails += "Brak wystarczających środków na koncie. "; } else { if (atmcard.CashAmount > atmcard.DailyLimit - atmcard.UsedLimit) { atmcard.ErrorDetails += "Przekroczono dzienny limit pieniężny."; } else { if (atmcard.UsedOperationsCount >= atmcard.OperationsCount) { atmcard.ErrorDetails += "Przekroczono dzienny limit ilości operacji"; } else { cardsFcd.ATMWithdrawMoney(atmcard); } } } } return(RedirectToAction("ATMCardSim", new { id = atmcard.Id, errorDetails = atmcard.ErrorDetails })); }