Exemplo n.º 1
0
 // GET: Accounts/Create
 public ActionResult Create()
 {
     //return View();
     //
     //var account = db.Accounts;
     //var creditCard = db.CreditCards;
     var vModel = new AccountsCreditsViewModel();
     //vModel.account = account;
     //vModel.creditCard = creditCard;
     return View(vModel);
     //
 }
Exemplo n.º 2
0
        public ActionResult Create([Bind(Include = "accountID, accountNumber,accountBalance,accountName,accountFirstName,accountLastName,accountAddress,accountCity,accountState,accountZip,accountPhone,accountMax")] Account account,
            [Bind(Include = "cardID, cardNumber, cardExpirationDate, cardSecurityCode, accountID, firstName, lastName")] CreditCard creditCard)
        {
            var vModel = new AccountsCreditsViewModel();



            //if (ModelState.IsValid)
            //{
            //db.CreditCards.Add(creditCard);                
            //db.Accounts.Add(account);
            //db.SaveChanges();
            Boolean thereIsAnError = false;
            if (account.accountBalance > 9999999999999999 || account.accountBalance < -9999999999999999)
            {
                ModelState.AddModelError("account.accountBalance", "The balance must between -9999999999999999 and 9999999999999999");
                thereIsAnError = true;
                //return View(vModel.account);
            }
            Boolean duplicateCard = checkDuplicateCard(creditCard.cardNumber);
            if (duplicateCard)
            {
                ModelState.AddModelError("creditCard.cardNumber", "The card number you entered matches another card.");
                ViewBag.accountID = new SelectList(db.Accounts, "accountID", "accountNumber", creditCard.accountID);
                thereIsAnError = true;                
            }
            if (thereIsAnError)
            {
                return View(vModel.account);
            }
            db.Accounts.Add(account);                
            db.SaveChanges();            
            //The below is to to get the last created accountID and copy it to the account number
            //I could not think of a better way to represent the account number other than having it as the id itself:
            int lastAccountId = duplicateAccountNumberFromAccountId();
            saveCreditCard(creditCard.cardID, creditCard.cardNumber, creditCard.cardExpirationDate, creditCard.cardSecurityCode, 
                lastAccountId, creditCard.firstName, creditCard.lastName);
            //Get the last card ID which is for the one just created:
            int lastCardId = getLastCardId();
            //Get a random card number from the table NewCardNumbers and store it in cardNumber of table CreditCards:
            //getRandomCardNumber(lastCardId);
            return RedirectToAction("Index");
            //}            
            //return View(vModel.account);
            //return View(account);
        }