public ActionResult VerifyDocument(string MaDHN)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Where(d => d.MaDHN == MaDHN && d.DaDuyet == false && d.DaXoa == false).Include(d => d.HangDonHangNhaps).FirstOrDefault();

            if (donHangNhap == null)
            {
                return(RedirectToAction("Index"));
            }
            if (donHangNhap.HangDonHangNhaps.Count() == 0)
            {
                return(RedirectToAction("EditDocument", new { MaDHN = MaDHN, Loi = "Đơn hàng rỗng" }));
            }
            foreach (HangDonHangNhap hangDonHangNhap in donHangNhap.HangDonHangNhaps)
            {
                Hang hang = db.Hangs.Where(d => d.MaH == hangDonHangNhap.MaH).Include(d => d.MauHang).FirstOrDefault();
                hang.DaNhap   = true;
                hang.SoLuong += hangDonHangNhap.SoLuong;
            }
            donHangNhap.DaDuyet = true;
            db.SaveChanges();
            return(RedirectToAction("Index", new { XoaThanhCong = "Duyệt đơn hàng " + MaDHN + " thành công!" }));
        }
        public ActionResult DeleteConfirmed(string id)
        {
            DonHangNhap donHangNhap = db.DonHangNhaps.Find(id);

            db.DonHangNhaps.Remove(donHangNhap);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "MaDHN,MaNCC,NgayNhap,GiamGia,KieuGiamGia")] DonHangNhap donHangNhap)
 {
     if (ModelState.IsValid)
     {
         db.Entry(donHangNhap).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MaNCC = new SelectList(db.NhaCungCaps, "MaNCC", "TenNCC", donHangNhap.MaNCC);
     return(View(donHangNhap));
 }
        // GET: DonHangNhaps/Details/5
        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));
            }
            var     hangDonHangNhaps = db.HangDonHangNhaps.Where(hangDonHangNhap => hangDonHangNhap.MaDHN == id).Include(hangDonHangNhap => hangDonHangNhap.DonHangNhap);
            decimal TongDonhang      = 0;
            decimal TongChuaThue     = 0;

            foreach (var hangDonHangNhap in hangDonHangNhaps)
            {
                var NhaCungCap = db.NhaCungCaps.Where(d => d.MaNCC == hangDonHangNhap.DonHangNhap.MaNCC).FirstOrDefault();
                var Hang       = db.Hangs.Where(d => d.MaH == hangDonHangNhap.MaH).FirstOrDefault();
                var MauHang    = db.MauHangs.Where(d => d.MaMH == Hang.MaMH).FirstOrDefault();
                hangDonHangNhap.DonHangNhap.NhaCungCap = NhaCungCap;
                hangDonHangNhap.Hang         = Hang;
                hangDonHangNhap.Hang.MauHang = MauHang;
                TongDonhang  += hangDonHangNhap.SoLuong * hangDonHangNhap.Hang.GiaNhap;
                TongChuaThue += hangDonHangNhap.SoLuong * hangDonHangNhap.Hang.GiaNhap;
            }
            if (hangDonHangNhaps == null)
            {
                return(HttpNotFound());
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Where(d => d.MaDHN == id).Include(d => d.NhaCungCap).FirstOrDefault();

            if (donHangNhap.KieuGiamGia != "" && donHangNhap.GiamGia != null)
            {
                if (donHangNhap.KieuGiamGia == "VNĐ")
                {
                    TongDonhang -= decimal.Parse(donHangNhap.GiamGia);
                }
                else if (donHangNhap.KieuGiamGia == "%")
                {
                    TongDonhang -= TongDonhang / 100 * decimal.Parse(donHangNhap.GiamGia);
                }
            }

            ViewBag.TongChuaThue = TongChuaThue;
            ViewBag.TongDonhang  = TongDonhang;
            ViewBag.MaDHN        = donHangNhap.MaDHN;
            ViewBag.TenNCC       = donHangNhap.NhaCungCap.TenNCC;
            ViewBag.NgayNhap     = donHangNhap.NgayNhap;
            ViewBag.GiamGia      = donHangNhap.GiamGia;
            ViewBag.KieuGiamGia  = donHangNhap.KieuGiamGia;
            return(View(hangDonHangNhaps));
        }
        // GET: DonHangNhaps/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Find(id);

            if (donHangNhap == null)
            {
                return(HttpNotFound());
            }
            return(View(donHangNhap));
        }
        // GET: DonHangNhaps/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Find(id);

            if (donHangNhap == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaNCC = new SelectList(db.NhaCungCaps, "MaNCC", "TenNCC", donHangNhap.MaNCC);
            return(View(donHangNhap));
        }
        public ActionResult DeleteDocument(string MaDHN)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Where(d => d.MaDHN == MaDHN && d.DaDuyet == false && d.DaXoa == false).FirstOrDefault();

            if (donHangNhap != null)
            {
                donHangNhap.DaXoa = true;
                db.SaveChanges();
            }
            return(RedirectToAction("Index", new { XoaThanhCong = "Xóa đơn hàng " + MaDHN + " thành công" }));
        }
        public ActionResult DeleteInStock(string MaDHN, string MaH)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Where(d => d.MaDHN == MaDHN).FirstOrDefault();
            Hang        hang        = db.Hangs.Single(d => d.MaH == MaH);

            if (hang != null)
            {
                var HDHN = db.HangDonHangNhaps.Where(d => d.MaDHN == MaDHN && d.MaH == MaH).FirstOrDefault();
                if (HDHN != null)
                {
                    db.HangDonHangNhaps.Remove(HDHN);
                    db.SaveChanges();
                }
            }
            donHangNhap.NhaCungCap       = db.NhaCungCaps.Where(d => d.MaNCC == donHangNhap.MaNCC).FirstOrDefault();
            donHangNhap.HangDonHangNhaps = db.HangDonHangNhaps.Where(d => d.MaDHN == donHangNhap.MaDHN).ToList();
            decimal TongDonHang = 0;

            foreach (var HangDonHangNhap in donHangNhap.HangDonHangNhaps)
            {
                HangDonHangNhap.Hang         = db.Hangs.Where(d => d.MaH == HangDonHangNhap.MaH).FirstOrDefault();
                HangDonHangNhap.Hang.MauHang = db.MauHangs.Where(d => d.MaMH == HangDonHangNhap.Hang.MaMH).FirstOrDefault();
                TongDonHang = HangDonHangNhap.SoLuong * HangDonHangNhap.Hang.GiaNhap;
            }
            if (donHangNhap.KieuGiamGia == "%" && donHangNhap.GiamGia != null)
            {
                TongDonHang -= TongDonHang / 100 * decimal.Parse(donHangNhap.GiamGia);
            }
            else if (donHangNhap.KieuGiamGia == "VNĐ" && donHangNhap.GiamGia != null)
            {
                TongDonHang -= decimal.Parse(donHangNhap.GiamGia);
            }
            ViewBag.TongDonHang = String.Format("{0:n0}", TongDonHang);
            ViewBag.MauHangs    = db.MauHangs.ToList();
            ViewBag.Hangs       = db.Hangs.Where(d => d.MaNCC == donHangNhap.MaNCC).Include(d => d.MauHang).ToList();
            return(View("Create", donHangNhap));
        }
 public ActionResult CreateDocument([Bind(Include = "MaNCC,NgayNhap,GiamGia,KieuGiamGia")] DonHangNhap donHangNhap)
 {
     if (ModelState.IsValid)
     {
         int count = db.DonHangNhaps.Count() + 1;
         donHangNhap.MaDHN = "DHN" + count.ToString();
         if (donHangNhap.KieuGiamGia == "True")
         {
             donHangNhap.KieuGiamGia = "VNĐ";
         }
         else
         {
             donHangNhap.KieuGiamGia = "%";
         }
         donHangNhap.DaXoa = false;
         db.DonHangNhaps.Add(donHangNhap);
         db.SaveChanges();
         donHangNhap.NhaCungCap       = db.NhaCungCaps.Where(d => d.MaNCC == donHangNhap.MaNCC).FirstOrDefault();
         donHangNhap.HangDonHangNhaps = db.HangDonHangNhaps.Where(d => d.MaDHN == donHangNhap.MaDHN).ToList();
         decimal TongDonHang = 0;
         foreach (var hangDonHangNhap in donHangNhap.HangDonHangNhaps)
         {
             hangDonHangNhap.Hang         = db.Hangs.Where(d => d.MaH == hangDonHangNhap.MaH).FirstOrDefault();
             hangDonHangNhap.Hang.MauHang = db.MauHangs.Where(d => d.MaMH == hangDonHangNhap.Hang.MaMH).FirstOrDefault();
             TongDonHang = hangDonHangNhap.SoLuong * hangDonHangNhap.Hang.GiaNhap;
         }
         if (donHangNhap.KieuGiamGia == "%" && donHangNhap.GiamGia != null)
         {
             TongDonHang -= TongDonHang / 100 * decimal.Parse(donHangNhap.GiamGia);
         }
         else if (donHangNhap.KieuGiamGia == "VNĐ" && donHangNhap.GiamGia != null)
         {
             TongDonHang -= decimal.Parse(donHangNhap.GiamGia);
         }
         ViewBag.TongDonHang = String.Format("{0:n0}", TongDonHang);
         ViewBag.MauHangs    = db.MauHangs.Where(d => d.DaXoa == false).ToList();
         ViewBag.Hangs       = db.Hangs.Where(d => d.MaNCC == donHangNhap.MaNCC).Include(d => d.MauHang).ToList();
         return(View("Create", donHangNhap));
     }
     ViewBag.MaNCC = new SelectList(db.NhaCungCaps, "MaNCC", "TenNCC");
     return(View("Create"));
 }
        // GET: DonHangNhaps/Delete/5
        public ActionResult Delete(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));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Find(id);

            if (donHangNhap == null)
            {
                return(HttpNotFound());
            }
            return(View(donHangNhap));
        }
        // GET: DonHangNhaps/Edit/5
        public ActionResult Edit(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));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Find(id);

            if (donHangNhap == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaNCC = new SelectList(db.NhaCungCaps, "MaNCC", "TenNCC", donHangNhap.MaNCC);
            return(View(donHangNhap));
        }
        public ActionResult EditDocument(string MaDHN, string Loi = null)
        {
            NguoiDung sNguoiDung = Session["nguoiDung"] as NguoiDung;

            if (sNguoiDung == null || db.NguoiDungs.Where(d => d.MaND == sNguoiDung.MaND).FirstOrDefault() == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            DonHangNhap donHangNhap = db.DonHangNhaps.Where(d => d.MaDHN == MaDHN && d.DaXoa == false && d.DaDuyet == false).FirstOrDefault();

            if (donHangNhap == null)
            {
                return(RedirectToAction("Index"));
            }
            donHangNhap.NhaCungCap       = db.NhaCungCaps.Where(d => d.MaNCC == donHangNhap.MaNCC).FirstOrDefault();
            donHangNhap.HangDonHangNhaps = db.HangDonHangNhaps.Where(d => d.MaDHN == donHangNhap.MaDHN).ToList();
            decimal TongDonHang = 0;

            foreach (var hangDonHangNhap in donHangNhap.HangDonHangNhaps)
            {
                hangDonHangNhap.Hang         = db.Hangs.Where(d => d.MaH == hangDonHangNhap.MaH).FirstOrDefault();
                hangDonHangNhap.Hang.MauHang = db.MauHangs.Where(d => d.MaMH == hangDonHangNhap.Hang.MaMH).FirstOrDefault();
                TongDonHang = hangDonHangNhap.SoLuong * hangDonHangNhap.Hang.GiaNhap;
            }
            if (donHangNhap.KieuGiamGia == "%" && donHangNhap.GiamGia != null)
            {
                TongDonHang -= TongDonHang / 100 * decimal.Parse(donHangNhap.GiamGia);
            }
            else if (donHangNhap.KieuGiamGia == "VNĐ" && donHangNhap.GiamGia != null)
            {
                TongDonHang -= decimal.Parse(donHangNhap.GiamGia);
            }
            ViewBag.TongDonHang = String.Format("{0:n0}", TongDonHang);
            ViewBag.MauHangs    = db.MauHangs.Where(d => d.DaXoa == false).ToList();
            ViewBag.Hangs       = db.Hangs.Where(d => d.MaNCC == donHangNhap.MaNCC && d.DaNhap == true).Include(d => d.MauHang).ToList();
            ViewBag.Loi         = Loi;
            return(View("Create", donHangNhap));
        }