Example #1
0
        public IActionResult SubmitOrder()
        {
            var cartContents = HttpContext.Session.GetJson <Cart>("Cart");
            var shipInfo     = HttpContext.Session.GetJson <AddressViewModel>("ShipInfo");
            var address      = new Address()
            {
                FirstName    = shipInfo.FirstName,
                LastName     = shipInfo.LastName,
                AddressLine1 = shipInfo.AddressLine1,
                AddressLine2 = shipInfo.AddressLine1,
                City         = shipInfo.City,
                State        = shipInfo.State,
                Zipcode      = (int)shipInfo.Zipcode,
                Phone        = (long)shipInfo.Phone
            };

            _context.Addresses.Add(address);
            var items = new List <LineItem>();

            items.AddRange(cartContents.LineItems);
            var newOrder = new Order()
            {
                ShippingInfo = address,
                OrderItems   = items,
            };

            _context.AttachRange(newOrder.OrderItems);
            _context.Orders.Add(newOrder);
            _context.SaveChanges();
            var orderId = newOrder.OrderId;

            HttpContext.Session.Clear();
            return(View("OrderConfirmation"));
        }
Example #2
0
        public ActionResult SuccessView()
        {
            List <GioHang> gioHangs = Session["cart"] as List <GioHang>;
            var            result   = from g in gioHangs
                                      join k in db.KhachHangs on g.MaKH equals k.MaKH
                                      join s in db.SanPhams on g.MaSanPham equals s.MaSanPham
                                      select new Tmp4
            {
                Ngay       = Session["OrderTime"].ToString(),
                TenSanPham = s.TenSanPham,
                SoLuong    = g.SoLuong,
                DonGia     = s.GiaBan,
                ThanhTien  = s.GiaBan * g.SoLuong,
                Hinh       = s.Hinh,
                MaSanPham  = s.MaSanPham
            };

            if (Session["TotalMoney"] == null)
            {
                int total = 0;
                foreach (var money in result)
                {
                    total = total + money.ThanhTien;
                }

                if (Session["voucher"] == null)
                {
                    total += 23000;
                    Session["TotalMoney"] = total;
                }
                else
                {
                    Session["TotalMoney"] = total;
                }
            }
            ViewData["data"] = result;


            string tmp1 = Session["TotalMoney"].ToString();
            int    tmp  = int.Parse(tmp1);

            if (Session["kh"] == null)
            {
                ECommerce.Models.Order order = new ECommerce.Models.Order {
                    MaKH = 3, TongTien = tmp, NgayDatHang = DateTime.Parse(Session["OrderTime"].ToString()), DiaChi = "PayPal", SDT = "PayPal", HoTen = "PayPal"
                };
                db.Orders.Add(order);
                db.SaveChanges();
                foreach (var item in gioHangs)
                {
                    ChiTietGioHang chiTietGioHang = new ChiTietGioHang {
                        MaSanPham = item.MaSanPham, SoLuong = item.SoLuong, OrderID = order.OrderID
                    };
                    db.ChiTietGioHangs.Add(chiTietGioHang);
                    db.SaveChanges();

                    SanPham sanPham = db.SanPhams.Find(item.MaSanPham);
                    sanPham.SoLuong = sanPham.SoLuong - item.SoLuong;
                    db.SaveChanges();

                    if (sanPham.SoLuong == 0 & sanPham.TinhTrang != "Sản Phẩm Hot")
                    {
                        sanPham.TinhTrang = "Không Hiển Thị";
                        db.SaveChanges();
                    }
                }
            }
            else
            {
                string kh   = Session["UserID"].ToString();
                int    maKH = int.Parse(kh);
                ECommerce.Models.Order order = new ECommerce.Models.Order {
                    MaKH = maKH, TongTien = tmp, NgayDatHang = DateTime.Parse(Session["OrderTime"].ToString()), DiaChi = "PayPal", SDT = "PayPal", HoTen = "Payment with PayPal"
                };
                db.Orders.Add(order);
                db.SaveChanges();

                KhachHang khachHang = db.KhachHangs.Find(maKH);
                khachHang.DiemTichLuy += tmp / 1000;
                db.SaveChanges();

                if (khachHang.DiemTichLuy >= 1000000)
                {
                    khachHang.MaLoaiKH = 5;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 100000)
                {
                    khachHang.MaLoaiKH = 4;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 10000)
                {
                    khachHang.MaLoaiKH = 3;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 1000)
                {
                    khachHang.MaLoaiKH = 2;
                    db.SaveChanges();
                }
                else
                {
                    khachHang.MaLoaiKH = 1;
                    db.SaveChanges();
                }

                foreach (var item in gioHangs)
                {
                    ChiTietGioHang chiTietGioHang = new ChiTietGioHang {
                        MaSanPham = item.MaSanPham, SoLuong = item.SoLuong, OrderID = order.OrderID
                    };
                    db.ChiTietGioHangs.Add(chiTietGioHang);
                    db.SaveChanges();

                    SanPham sanPham = db.SanPhams.Find(item.MaSanPham);
                    sanPham.SoLuong = sanPham.SoLuong - item.SoLuong;
                    db.SaveChanges();

                    if (sanPham.SoLuong == 0 & sanPham.TinhTrang != "Sản Phẩm Hot")
                    {
                        sanPham.TinhTrang = "Không Hiển Thị";
                        db.SaveChanges();
                    }
                }
            }
            ViewBag.total = tmp;
            ViewBag.ds    = gioHangs;

            Session.Remove("cart");
            Session.Remove("TotalMoney");
            if (Session["voucher"] != null)
            {
                Session.Remove("voucher");
            }
            return(View());
        }