Exemplo n.º 1
0
        public ActionResult ViewCart()
        {
            List <ClinicalELDAL.EntityLayer.OrderItem> orderitem = Session["OrderItem"] as List <OrderItem>;
            // Request.Form["quantity"] = obj.Quantity.ToString();



            List <ViewModels.CartViewModel> list = new List <ViewModels.CartViewModel>();

            foreach (var item in orderitem)
            {
                ViewModels.CartViewModel cvm = new ViewModels.CartViewModel();
                var drg = DrugRepo.GetSpecificDrug(item.DrugID);
                cvm.DrugID      = drg.DrugID;
                cvm.Name        = drg.Name;
                cvm.Description = drg.Description;
                cvm.Quantity    = item.Quantity.Value;
                cvm.Price       = drg.Price.Value;
                cvm.TotalCost   = drg.Price.Value * item.Quantity.Value;
                list.Add(cvm);
            }

            Session["ViewCart"] = list;
            return(View(list));
        }
        //
        // GET: /Checkout/Confirmation

        public ActionResult Confirmation()
        {
            Capstone.ViewModels.CartViewModel tempCartViewModel = new ViewModels.CartViewModel();
            if (TempData["currentCartModel"] != null)
            {
                tempCartViewModel = (Capstone.ViewModels.CartViewModel)TempData["currentCartModel"];
                TempData.Clear();
            }
            return(View(tempCartViewModel));
        }
        public ActionResult Confirmation(ViewModels.CartViewModel viewModel)
        {
            var invoice = new invoice_table();

            TryUpdateModel(invoice);

            try
            {
                // Get user num
                int usernum = 0;
                foreach (var users in storeDB.users_table)
                {
                    if (users.username == HttpContext.User.Identity.Name)
                    {
                        usernum = users.user_num;
                    }
                }

                invoice.user_num       = usernum;
                invoice.invoice_date   = DateTime.Now;
                invoice.invoice_filled = "Pending";

                storeDB.invoice_table.Add(invoice);
                storeDB.SaveChanges();

                var cart = UserShoppingCart.GetCart(this.HttpContext);
                cart.CreateOrder(invoice);

                List <parts_table> tempPartsTable = new List <parts_table>();

                // Subtract stock from how much the user ordered
                foreach (var orderItem in storeDB.orders_table)
                {
                    if (orderItem.invoice_num == invoice.invoice_num)
                    {
                        var currentPart = storeDB.parts_table.FirstOrDefault(part_table => part_table.part_number == orderItem.part_num);
                        currentPart.part_stock = currentPart.part_stock - orderItem.quantity;
                        tempPartsTable.Add(currentPart);
                    }
                }

                // Run through and modify the stock of parts
                foreach (parts_table partItem in tempPartsTable)
                {
                    storeDB.Entry(partItem).State = System.Data.EntityState.Modified;
                    storeDB.SaveChanges();
                }

                return(RedirectToAction("Finished", new { id = invoice.invoice_num }));
            }
            catch (Exception)
            {
                return(View(viewModel));
            }
        }
 public Cart()
 {
     InitializeComponent();
     BindingContext = new ViewModels.CartViewModel();
 }