예제 #1
0
        public ActionResult CheckOut(FormCollection form)
        {
            string credCardNum       = form["cardNumber"];
            CreditCardValidation ccv = new CreditCardValidation();
            bool validCredCard       = ccv.IsValidCreditCard(credCardNum);

            if (validCredCard)
            {
                DAO    dao           = new DAO();
                string customerEmail = TempData["CustomerEmail"].ToString();

                //Encrypted Credit card number
                string encryptedCredCard = Crypto.HashPassword(credCardNum);

                bool successfulEntry = dao.InsertCustomerCreditCard(encryptedCredCard, customerEmail) > 0;
                if (successfulEntry)
                {
                    ViewData["credCardValidation"] = "Credit Card Validated & Inserted Successfully";
                    Session.Clear();
                    Session.Abandon();
                }
                else
                {
                    ViewData["credCardValidation"] = "Credit Card inserted Unsuccessfully";
                }
            }
            else
            {
                ViewData["credCardValidation"] = "Credit Card Validation Unsuccessful";
            }



            Customers customer = new Customers();

            customer.Email = TempData["CustomerEmail"].ToString();

            foreach (Product product in cart)
            {
                totalPrice += totalPrice + product.Quantity * product.ProductPrice;
            }

            int counter1 = dao.AddOrder(Session.SessionID, DateTime.Now, customer.Email, totalPrice);
            int counter2 = 0;

            foreach (Product product in cart)
            {
                counter2 = dao.AddLineItem(product.Quantity, Session.SessionID, product.ProductID);
            }
            if (counter1 > 0 && counter2 > 0)
            {
                Console.Write("Perfectly Working");
            }
            else
            {
                ViewData["message"] = "Error Please Fix ASAP";
            }

            return(View());
        }