Пример #1
0
        public async Task <IActionResult> Create(BillPay billPay)
        {
            if (ModelState.IsValid)
            {
                if (_context.Account.Where(x => x.AccountNumber == billPay.AccountNumber).FirstOrDefault().Balance > billPay.Amount && billPay.Amount > 0)
                {
                    if (billPay.ScheduleDate < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")))
                    {
                        ModelState.AddModelError(nameof(billPay.ScheduleDate), "Invaild data time.");
                    }
                    else
                    {
                        ViewData["ErrorMessage"] = "";
                        billPay.ModifyDate       = DateTime.UtcNow;
                        billPay.Status           = BillPayStatus.Available;
                        _context.Add(billPay);
                        await _context.SaveChangesAsync();

                        return(RedirectToAction(nameof(Index)));
                    }
                }
                else
                {
                    ModelState.AddModelError(nameof(billPay.Amount), "Not enough money or invaild amount.");
                }
            }

            ViewData["AccountNumber"] = new SelectList(_context.Account.Where(a => a.CustomerID == CustomerID), "AccountNumber", "AccountNumber");
            ViewData["PayeeID"]       = new SelectList(_context.Payee.Where(x => x.PayeeID > 0), "PayeeID", "PayeeID");
            return(View(billPay));
        }
Пример #2
0
        public async Task <int> Create(Loan loan)
        {
            await _context.Set <Loan>().AddAsync(loan);

            await _context.SaveChangesAsync();

            return(loan.LoanId);
        }
Пример #3
0
        public async Task <int> Create(Card card)
        {
            await _context.Set <Card>().AddAsync(card);

            await _context.SaveChangesAsync();

            return(card.CardId);
        }
Пример #4
0
        public async Task <int> Create(Account account)
        {
            await _context.Set <Account>().AddAsync(account);

            await _context.SaveChangesAsync();

            return(account.AccountId);
        }
Пример #5
0
        public async Task <int> Add(Customer customer)
        {
            await bankDBContext.AddAsync <Customer>(customer);

            await bankDBContext.SaveChangesAsync();

            return(customer.Id);
        }
        public async Task <string> IssueChequeBook(ChequeBook chequeBook)
        {
            chequeBook.ChequeBookNumber = RandomNumberHelper.GenerateNumber();
            await bankDBContext.AddAsync <ChequeBook>(chequeBook);

            await bankDBContext.SaveChangesAsync();

            return(chequeBook.ChequeBookNumber);
        }
        public async Task <string> Add(Account account)
        {
            account.AccountNumber = RandomNumberHelper.GenerateNumber();
            await bankDBContext.AddAsync <Account>(account);

            await bankDBContext.SaveChangesAsync();

            return(account.AccountNumber);
        }
Пример #8
0
        public async Task <ActionResult> Create([Bind(Include = "Id,AccountNumber,AccountName,Password,Balance,CreatedDate")] Account account)
        {
            if (ModelState.IsValid)
            {
                db.Accounts.Add(account);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(account));
        }
Пример #9
0
        public async Task Add(Transactions transactions)
        {
            var errorMessage = string.Empty;

            //var getAccount = bankDBContext.Account.FirstOrDefault(x => x.AccountNumber == transactions.AccountNumber && x.Status == AccountStatus.Active);
            if (transactions.Amount > 0)
            {
                if (transactions.TransactionMode == TransactionMode.Deposit)
                {
                    transactions.TransferToAccountNumber = string.Empty;
                    await bankDBContext.AddAsync <Transactions>(transactions);

                    await bankDBContext.SaveChangesAsync();
                }
                else if (transactions.TransactionMode == TransactionMode.Withdrawal)
                {
                    transactions.TransferToAccountNumber = string.Empty;
                    await bankDBContext.AddAsync <Transactions>(transactions);

                    await bankDBContext.SaveChangesAsync();
                }
                else if (transactions.TransactionMode == TransactionMode.Transfer)
                {
                    if (!string.IsNullOrEmpty(transactions.TransferToAccountNumber))
                    {
                        await bankDBContext.AddAsync <Transactions>(transactions);

                        await bankDBContext.SaveChangesAsync();
                    }
                    else
                    {
                        errorMessage = "Please provide payee account number.";
                    }
                }
                else
                {
                    errorMessage = "Invalid transaction mode.";
                }
            }
            else
            {
                errorMessage = "Transaction amount can not be less than 0.";
            }

            if (errorMessage != string.Empty)
            {
                throw new BankBaseException(errorMessage);
            }
        }
Пример #10
0
        public async Task <IActionResult> Create(BillPay billPay)
        {
            if (ModelState.IsValid)
            {
                billPay.ModifyDate = DateTime.UtcNow;
                billPay.Status     = BillPayStatus.Available;
                _context.Add(billPay);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AccountNumber"] = new SelectList(_context.Account.Where(a => a.CustomerID == CustomerID), "AccountNumber", "AccountNumber");
            ViewData["PayeeID"]       = new SelectList(_context.Payee.Where(x => x.PayeeID > 0), "PayeeID", "PayeeID");
            return(View(billPay));
        }
Пример #11
0
        public async Task <int> Create(Customer customer)
        {
            await _context.Set <Customer>().AddAsync(customer);

            await _context.SaveChangesAsync();

            return(customer.CustomerId);
        }
Пример #12
0
        public async Task <int> Create(AccountType accountType)
        {
            await _context.Set <AccountType>().AddAsync(accountType);

            await _context.SaveChangesAsync();

            return(accountType.AccountTypeId);
        }
Пример #13
0
        public async Task <int> Create(Transaction transaction)
        {
            await _context.Set <Transaction>().AddAsync(transaction);

            await _context.SaveChangesAsync();

            return(transaction.TransactionId);
        }
Пример #14
0
        public async Task <int> Create(Disposition disposition)
        {
            await _context.Set <Disposition>().AddAsync(disposition);

            await _context.SaveChangesAsync();

            return(disposition.DispositionId);
        }
        public async Task <IActionResult> Create(BillPay billPay)
        {
            if (ModelState.IsValid)
            {
                if (_context.Account.Where(x => x.AccountNumber == billPay.AccountNumber).FirstOrDefault().Balance > billPay.Amount)
                {
                    ViewData["ErrorMessage"] = "";
                    billPay.ModifyDate       = DateTime.UtcNow;
                    billPay.Status           = BillPayStatus.Available;
                    _context.Add(billPay);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    ViewData["ErrorMessage"] = "Not enough money";
                }
            }

            ViewData["AccountNumber"] = new SelectList(_context.Account.Where(a => a.CustomerID == CustomerID), "AccountNumber", "AccountNumber");
            ViewData["PayeeID"]       = new SelectList(_context.Payee.Where(x => x.PayeeID > 0), "PayeeID", "PayeeID");
            return(View(billPay));
        }
Пример #16
0
        public async Task <ActionResult> Create([Bind(Include = "Id,AccountNumber,TransactionType_Id,Amount,TransferTo")] Transaction transaction)
        {
            if (ModelState.IsValid)
            {
                var _account = (from c in db.Accounts
                                where c.AccountNumber == transaction.AccountNumber
                                select c
                                ).First();
                if (transaction.TransactionType_Id == (int)TransactionTypeEnum.Deposit)
                {
                    _account.Balance            = _account.Balance + transaction.Amount;
                    transaction.TransferTo      = null;
                    transaction.TransactionType = "Deposit";
                }
                else if (transaction.TransactionType_Id == (int)TransactionTypeEnum.Withdraw)
                {
                    _account.Balance            = _account.Balance - transaction.Amount;
                    transaction.TransferTo      = null;
                    transaction.TransactionType = "Withdraw";
                }
                else if (transaction.TransactionType_Id == (int)TransactionTypeEnum.FundTransfer)
                {
                    _account.Balance = _account.Balance - transaction.Amount;
                    var _receivingAccount = (from c in db.Accounts
                                             where c.AccountNumber == transaction.TransferTo
                                             select c
                                             ).First();
                    _receivingAccount.Balance   = _receivingAccount.Balance + transaction.Amount;
                    transaction.TransactionType = "FundTransfer";
                }

                db.Transactions.Add(transaction);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }

            return(View(transaction));
        }