Esempio n. 1
0
        // GET: Cart
        public ActionResult CheckAmount()
        {
            List <CartItem>   cartItems  = (List <CartItem>)Session["cartItems"];
            List <CartViewVM> cartViewVM = new List <CartViewVM>();
            double            Total      = 0;

            if (cartItems != null)
            {
                foreach (CartItem item in cartItems)
                {
                    List <ItemCustomField> ItemCF = item.ItemCustomFields;

                    Item tmp_item = db.Item.Where(x => x.ItemID == item.ItemID)
                                    .FirstOrDefault();
                    CartViewVM cartVM = new CartViewVM(tmp_item);
                    cartVM.Key      = item.Key;
                    cartVM.QTY      = item.Qty;
                    cartVM.SubTotal = cartVM.QTY * cartVM.ItemPrice;

                    if (item.ItemCustomFields != null)
                    {
                        double addPrice = 0;
                        cartVM.ItemCustomFieldName = new List <ItemCustomFieldName>();
                        foreach (ItemCustomField icf in ItemCF)
                        {
                            CustomField         tmp_cf   = db.CustomField.Where(x => x.CustomFieldID == icf.CustomFieldID).FirstOrDefault();
                            CustomFieldValue    tmp_cfv  = db.CustomFieldValue.Where(x => x.CustomFieldValueID == icf.CustomFieldValueID).FirstOrDefault();
                            ItemCustomFieldName item_cfn = new ItemCustomFieldName(tmp_cf, tmp_cfv);

                            if (item_cfn != null)
                            {
                                cartVM.ItemCustomFieldName.Add(item_cfn);
                                if (item_cfn.AdditionalPrice > 0)
                                {
                                    addPrice += item_cfn.AdditionalPrice;
                                }
                            }
                        }
                        cartVM.SubTotal += (cartVM.QTY * addPrice);
                    }
                    Total += cartVM.SubTotal;
                    cartViewVM.Add(cartVM);
                }
            }
            ViewBag.Total = Total;
            return(View(cartViewVM));
        }
Esempio n. 2
0
        // GET: Cart
        public ActionResult Index()
        {
            List <CartItem>   cartItems  = (List <CartItem>)Session["cartItems"];
            List <CartViewVM> cartViewVM = new List <CartViewVM>();

            if (cartItems != null)
            {
                foreach (CartItem item in cartItems)
                {
                    List <ItemCustomField> ItemCF = item.ItemCustomFields;

                    Item tmp_item = db.Item.Where(x => x.ItemID == item.ItemID)
                                    .FirstOrDefault();
                    CartViewVM cartVM = new CartViewVM(tmp_item);
                    cartVM.Key = item.Key;
                    cartVM.QTY = item.Qty;

                    if (item.ItemCustomFields != null)
                    {
                        cartVM.ItemCustomFieldName = new List <ItemCustomFieldName>();
                        foreach (ItemCustomField icf in ItemCF)
                        {
                            CustomField         tmp_cf   = db.CustomField.Where(x => x.CustomFieldID == icf.CustomFieldID).FirstOrDefault();
                            CustomFieldValue    tmp_cfv  = db.CustomFieldValue.Where(x => x.CustomFieldValueID == icf.CustomFieldValueID).FirstOrDefault();
                            ItemCustomFieldName item_cfn = new ItemCustomFieldName(tmp_cf, tmp_cfv);

                            if (item_cfn != null)
                            {
                                cartVM.ItemCustomFieldName.Add(item_cfn);
                            }
                        }
                    }

                    cartViewVM.Add(cartVM);
                }
            }
            return(View(cartViewVM));
        }
Esempio n. 3
0
        public ActionResult Checkout(OrderFormVM model)
        {
            string            userID     = User.Identity.GetUserId();
            List <CartItem>   cartItems  = (List <CartItem>)Session["cartItems"];
            List <CartViewVM> cartViewVM = new List <CartViewVM>();
            double            Total      = 0;

            if (cartItems != null)
            {
                Order order = new Order();
                order.OrderCreateDateTime = DateTime.Now;
                order.DeliverAddress      = model.Address;
                order.OrderDateTime       = model.OrderDateTime;
                //order.OrderDateTime = (DateTime)Session["OrderDateTime"];
                order.UserID = userID;
                db.Order.Add(order);
                //db.SaveChanges();

                foreach (CartItem item in cartItems)
                {
                    List <ItemCustomField> ItemCF = item.ItemCustomFields;

                    Item tmp_item = db.Item.Where(x => x.ItemID == item.ItemID)
                                    .FirstOrDefault();
                    CartViewVM cartVM = new CartViewVM(tmp_item);
                    cartVM.Key      = item.Key;
                    cartVM.QTY      = item.Qty;
                    cartVM.SubTotal = cartVM.QTY * cartVM.ItemPrice;

                    OrderDetail orderDetail = new OrderDetail();
                    orderDetail.Order  = order;
                    orderDetail.ItemID = item.ItemID;
                    orderDetail.Qty    = item.Qty;
                    db.OrderDetail.Add(orderDetail);

                    if (item.ItemCustomFields != null)
                    {
                        double addPrice = 0;
                        cartVM.ItemCustomFieldName = new List <ItemCustomFieldName>();
                        foreach (ItemCustomField icf in ItemCF)
                        {
                            CustomField         tmp_cf   = db.CustomField.Where(x => x.CustomFieldID == icf.CustomFieldID).FirstOrDefault();
                            CustomFieldValue    tmp_cfv  = db.CustomFieldValue.Where(x => x.CustomFieldValueID == icf.CustomFieldValueID).FirstOrDefault();
                            ItemCustomFieldName item_cfn = new ItemCustomFieldName(tmp_cf, tmp_cfv);

                            OrderDetailCustomField odcf = new OrderDetailCustomField();
                            odcf.OrderDetail          = orderDetail;
                            odcf.CustomFieldName      = tmp_cf.CustomFieldName;
                            odcf.CustomFieldValueName = tmp_cfv.CustomFieldValueName;
                            odcf.AdditionalPrice      = tmp_cfv.AdditionalPrice;
                            db.OrderDetailCustomField.Add(odcf);

                            if (item_cfn != null)
                            {
                                cartVM.ItemCustomFieldName.Add(item_cfn);
                                if (item_cfn.AdditionalPrice > 0)
                                {
                                    addPrice += item_cfn.AdditionalPrice;
                                }
                            }
                        }
                        cartVM.SubTotal += (cartVM.QTY * addPrice);
                    }

                    orderDetail.SubTotalAmount = cartVM.SubTotal;

                    Total      += cartVM.SubTotal;
                    order.Total = Total;
                    cartViewVM.Add(cartVM);
                }
                Session["cartItems"] = null;
                //Session.Remove("cartItems");
                db.SaveChanges();
            }
            ViewBag.Total          = Total;
            ViewBag.CheckoutStatus = "Checkout Success!";
            return(View());
        }