Esempio n. 1
0
        public ActionResult OrderCard(int accountId)
        {
            using (var _context = new ApplicationDbContext()) {
                var account = _context.Accounts.Single(a => a.Id == accountId);

                var viewModel = new OrderCardFormViewModel {
                    Account   = account,
                    AccountId = accountId
                };

                return(View("OrderCardForm", viewModel));
            }
        }
Esempio n. 2
0
        public ActionResult processCardOrder(OrderCardFormViewModel model)
        {
            using (var _context = new ApplicationDbContext()) {
                //Create viewmodel to return
                var backModel = model;

                //validation
                if (!ModelState.IsValid)
                {
                    return(View("OrderCardForm", backModel));
                }

                string uId     = User.Identity.GetUserId();
                var    user    = _context.Users.Single(u => u.Id == uId);
                var    account = (CurrentAccount)_context.Accounts.Single(a => a.Id == model.AccountId);


                var highestCardId = 0;
                var newCardId     = 0;

                if (_context.BankCards.Any())
                {
                    if (_context.BankCards.Max(c => c.Id) > 0)
                    {
                        highestCardId = _context.BankCards.Max(c => c.Id);
                        newCardId     = highestCardId++;
                    }
                }

                BankCard newCard = new BankCard {
                    BankAccountBaseId = model.AccountId,
                    ExpiryDate        = DateTime.Today.AddYears(2),
                    Status            = BankCard.CardStatus.Open,
                    NameOnCard        = user.FullName,
                    PinNumber         = model.Card.PinNumber,
                    CardNumber        = newCardId.ToString().PadLeft(16, '0')
                };

                _context.BankCards.Add(newCard);
                _context.SaveChanges();

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