public ActionResult Orders()
        {
            KhachHang skhachHang = Session["khachHang"] as KhachHang;

            if (skhachHang == null || db.KhachHangs.Where(d => d.MaKH == skhachHang.MaKH).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangDat donHangDat = db.DonHangDats.Where(d =>
                                                         d.MaKH == skhachHang.MaKH &&
                                                         d.TrangThai == "Đang đặt" &&
                                                         d.DaXoa == false
                                                         ).Include(d => d.HangDonHangDats).FirstOrDefault();

            if (donHangDat == null || donHangDat.HangDonHangDats.Count() == 0)
            {
                return(RedirectToAction("Index", "Home", new { ThongBao = "Đơn hàng trống" }));
            }
            foreach (HangDonHangDat hangDonHangDat in donHangDat.HangDonHangDats)
            {
                Hang hang = db.Hangs.Where(d => d.MaH == hangDonHangDat.MaH).Include(d => d.MauHang).FirstOrDefault();
                hangDonHangDat.Hang = hang;
            }
            ViewBag.CartBackStore = true;
            return(View("Order", donHangDat));
        }
        public ActionResult Details(string id)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaDHD == id).Include(d => d.HangDonHangDats).FirstOrDefault();

            if (donHangDat == null)
            {
                return(HttpNotFound());
            }
            decimal tongDonHang = 0;

            foreach (HangDonHangDat hangDonHangDat in donHangDat.HangDonHangDats)
            {
                hangDonHangDat.Hang = db.Hangs.Where(d => d.MaH == hangDonHangDat.MaH).Include(d => d.MauHang).FirstOrDefault();
                tongDonHang        += hangDonHangDat.SoLuong * hangDonHangDat.Hang.GiaBan;
            }
            donHangDat.TongDonHang = tongDonHang;
            return(View(donHangDat));
        }
예제 #3
0
        public ActionResult Index(string ThongBao = null)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;
            // if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND).FirstOrDefault() == null) return RedirectToAction("Index", "Login");
            KhachHang sKhachHang = Session["khachHang"] as KhachHang;

            if (sNguoiDung == null || sKhachHang != null)
            {
                if (sKhachHang != null)
                {
                    DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaKH == sKhachHang.MaKH && d.TrangThai == "Đang đặt").FirstOrDefault();
                    if (donHangDat != null)
                    {
                        ViewBag.SoLuongHangDat = db.HangDonHangDats.Where(d => d.MaDHD == donHangDat.MaDHD).Count();
                    }
                }
                if (ThongBao != null)
                {
                    ViewBag.ThongBao = ThongBao;
                }
                ViewBag.NhomHangs = db.NhomHangs.Where(d => d.DaXoa == false).ToList();
                return(View(db.Hangs.Where(i => i.SoLuong > 0).Include(i => i.MauHang).ToList()));
            }
            return(View());
        }
        public ActionResult DeleteConfirmed(string id)
        {
            DonHangDat donHangDat = db.DonHangDats.Find(id);

            db.DonHangDats.Remove(donHangDat);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult OrderStock(string MaKH, string MaH, string SoLuong)
        {
            KhachHang skhachHang = Session["khachHang"] as KhachHang;

            if (skhachHang == null || db.KhachHangs.Where(d => d.MaKH == skhachHang.MaKH && d.DaXoa == false).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            if (SoLuong == "")
            {
                ViewBag.Loi = "Chưa nhập số lượng";
            }
            else
            {
                int        sl         = int.Parse(SoLuong);
                Hang       hang       = db.Hangs.Where(d => d.MaH == MaH).FirstOrDefault();
                DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaKH == MaKH && d.TrangThai == "Đang đặt" && d.DaXoa == false).Include(d => d.HangDonHangDats).FirstOrDefault();
                if (donHangDat != null)
                {
                    HangDonHangDat hangDonHangDat = db.HangDonHangDats.Where(d => d.MaDHD == donHangDat.MaDHD && d.MaH == MaH).FirstOrDefault();
                    if (hangDonHangDat != null)
                    {
                        hangDonHangDat.SoLuong += sl;
                    }
                    else
                    {
                        HangDonHangDat hangDonHangDatMoi = new HangDonHangDat();
                        hangDonHangDatMoi.MaDHD   = donHangDat.MaDHD;
                        hangDonHangDatMoi.MaH     = MaH;
                        hangDonHangDatMoi.SoLuong = sl;
                        db.HangDonHangDats.Add(hangDonHangDatMoi);
                    }
                    ViewBag.SoLuongHangDat = donHangDat.HangDonHangDats.Count() + 1;
                }
                else
                {
                    DonHangDat donHangDatMoi = new DonHangDat();
                    int        count         = db.DonHangDats.Count() + 1;
                    donHangDatMoi.MaDHD      = "DHD" + count.ToString();
                    donHangDatMoi.MaKH       = MaKH;
                    donHangDatMoi.NgayBatDau = DateTime.Now;
                    donHangDatMoi.TrangThai  = "Đang đặt";

                    HangDonHangDat hangDonHangDatMoi = new HangDonHangDat();
                    hangDonHangDatMoi.MaDHD   = donHangDatMoi.MaDHD;
                    hangDonHangDatMoi.MaH     = MaH;
                    hangDonHangDatMoi.SoLuong = sl;
                    db.DonHangDats.Add(donHangDatMoi);
                    db.HangDonHangDats.Add(hangDonHangDatMoi);
                    ViewBag.SoLuongHangDat = 1;
                }
                db.SaveChanges();
            }
            return(RedirectToAction("Index", "Home"));
        }
 public ActionResult Edit([Bind(Include = "MaDHD,MaKH,NgayDat,TrangThai")] DonHangDat donHangDat)
 {
     if (ModelState.IsValid)
     {
         db.Entry(donHangDat).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MaKH = new SelectList(db.KhachHangs, "MaKH", "HoTen", donHangDat.MaKH);
     return(View(donHangDat));
 }
예제 #7
0
        public ActionResult SearchGroups(FormCollection formCollection)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;
            // if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND).FirstOrDefault() == null) return RedirectToAction("Index", "Login");
            KhachHang sKhachHang = Session["khachHang"] as KhachHang;

            if (sNguoiDung == null || sKhachHang != null)
            {
                if (sKhachHang != null)
                {
                    DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaKH == sKhachHang.MaKH && d.TrangThai == "Đang đặt").FirstOrDefault();
                    if (donHangDat != null)
                    {
                        ViewBag.SoLuongHangDat = db.HangDonHangDats.Where(d => d.MaDHD == donHangDat.MaDHD).Count();
                    }
                }
                List <string> MaNHS    = new List <string>(formCollection.AllKeys);
                var           mauHangs = db.MauHangs.Include(d => d.NhomHangs).ToList();
                List <string> MaMHS    = new List <string>();
                foreach (MauHang mauHang in mauHangs)
                {
                    bool flag = false;
                    foreach (NhomHang nhomHang in mauHang.NhomHangs)
                    {
                        if (MaNHS.Contains(nhomHang.MaNH))
                        {
                            flag = true;
                            break;
                        }
                    }
                    if (flag)
                    {
                        MaMHS.Add(mauHang.MaMH);
                    }
                }
                var nhomHangs    = db.NhomHangs.Where(d => d.DaXoa == false).ToList();
                var viewBagMaNHS = new string[nhomHangs.Count()];
                int i            = 0;
                foreach (NhomHang nhom in nhomHangs)
                {
                    if (MaNHS.Contains(nhom.MaNH))
                    {
                        viewBagMaNHS[i] = "checked";
                    }
                    i++;
                }
                ViewBag.NhomHangs = nhomHangs;
                ViewBag.MaNHS     = viewBagMaNHS;
                return(View("Index", db.Hangs.Where(d => MaMHS.Contains(d.MaMH) && d.SoLuong > 0).ToList()));
            }
            return(View());
        }
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DonHangDat donHangDat = db.DonHangDats.Find(id);

            if (donHangDat == null)
            {
                return(HttpNotFound());
            }
            return(View(donHangDat));
        }
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DonHangDat donHangDat = db.DonHangDats.Find(id);

            if (donHangDat == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaKH = new SelectList(db.KhachHangs, "MaKH", "HoTen", donHangDat.MaKH);
            return(View(donHangDat));
        }
        public ActionResult CancelOrderDoc(string MaDHD)
        {
            KhachHang skhachHang = Session["khachHang"] as KhachHang;

            if (skhachHang == null || db.KhachHangs.Where(d => d.MaKH == skhachHang.MaKH && d.DaXoa == false).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaDHD == MaDHD && d.DaXoa == false).FirstOrDefault();

            if (donHangDat != null)
            {
                donHangDat.DaXoa = true;
                db.SaveChanges();
            }
            return(RedirectToAction("History", new { MaKH = skhachHang.MaKH }));
        }
        public ActionResult VerifyOrder(string MaDHD)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND && d.DaXoa == false).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaDHD == MaDHD && d.DaXoa == false && d.TrangThai == "Đang giao").FirstOrDefault();

            if (donHangDat == null)
            {
                return(RedirectToAction("Index"));
            }
            donHangDat.TrangThai     = "Đã thanh toán";
            donHangDat.NgayHoanThanh = DateTime.Now;
            db.SaveChanges();
            return(RedirectToAction("Index", new { ThongBao = "Xác nhận hoàn thành đơn hàng " + MaDHD + " thành công" }));
        }
        public ActionResult OrderDocument(string MaKH)
        {
            KhachHang khachHang = db.KhachHangs.Where(d => d.MaKH == MaKH && d.DaXoa == false).FirstOrDefault();

            if (khachHang == null)
            {
                return(RedirectToAction("Logout", "Login"));
            }
            DonHangDat donHangDat = db.DonHangDats.Where(d => d.TrangThai == "Đang đặt" && d.MaKH == MaKH && d.DaXoa == false).FirstOrDefault();

            System.Diagnostics.Debug.WriteLine("MaKH", MaKH);
            if (donHangDat == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            donHangDat.TrangThai = "Đã đặt";
            donHangDat.NgayDat   = DateTime.Now;
            db.SaveChanges();
            return(RedirectToAction("Index", "Home", new { ThongBao = "Đặt thành công" }));
        }
        public ActionResult DeliverOrder(string MaDHD)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND && d.DaXoa == false).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaDHD == MaDHD && d.DaXoa == false && d.TrangThai == "Đã đặt").Include(d => d.HangDonHangDats).FirstOrDefault();

            if (donHangDat == null)
            {
                return(RedirectToAction("Index"));
            }
            bool duHang = true;

            foreach (HangDonHangDat hangDonHangDat in donHangDat.HangDonHangDats)
            {
                Hang hang = db.Hangs.Where(d => d.MaH == hangDonHangDat.MaH).FirstOrDefault();
                if (hang.SoLuong < hangDonHangDat.SoLuong)
                {
                    duHang = false;
                    break;
                }
            }
            if (duHang)
            {
                donHangDat.TrangThai = "Đang giao";
                donHangDat.NgayGiao  = DateTime.Now;
                foreach (HangDonHangDat hangDonHangDat in donHangDat.HangDonHangDats)
                {
                    Hang hang = db.Hangs.Where(d => d.MaH == hangDonHangDat.MaH).FirstOrDefault();
                    hang.SoLuong -= hangDonHangDat.SoLuong;
                }
                db.SaveChanges();
                return(RedirectToAction("Index", new { ThongBao = "Xác nhận giao hàng cho đơn hàng " + MaDHD + " thành công" }));
            }
            return(RedirectToAction("Index", new { ThongBao = "Không đủ số lượng hàng cho đơn hàng  " + MaDHD + ". Bấm 'Xem' để kiểm tra" }));
        }
        public ActionResult CancelDeliverOrder(string MaDHD)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND && d.DaXoa == false).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangDat donHangDat = db.DonHangDats.Where(d => d.MaDHD == MaDHD && d.DaXoa == false && d.TrangThai == "Đang giao").FirstOrDefault();

            if (donHangDat == null)
            {
                return(RedirectToAction("Index"));
            }
            donHangDat.TrangThai = "Đã đặt";
            donHangDat.NgayGiao  = null;
            foreach (HangDonHangDat hangDonHangDat in donHangDat.HangDonHangDats)
            {
                Hang hang = db.Hangs.Where(d => d.MaH == hangDonHangDat.MaH).FirstOrDefault();
                hang.SoLuong += hangDonHangDat.SoLuong;
            }
            db.SaveChanges();
            return(RedirectToAction("Index", new { ThongBao = "Xác nhận hủy giao hàng cho đơn hàng " + MaDHD + " thành công" }));
        }