示例#1
0
        public async Task Create(PhieuDatHangViewModel obj)
        {
            PhieuDatHang order = new PhieuDatHang
            {
                SoPhieuDatHang    = obj.soPhieuDatHang,
                NgayDat           = obj.ngayDat,
                NgayGiao          = obj.ngayGiao,
                MaNhanVien        = obj.maNhanVien,
                TenKhachHang      = obj.tenKhachHang,
                SoDienThoai       = obj.soDienThoai,
                Email             = obj.email,
                HinhThucThanhToan = obj.hinhThucThanhToan,
                Ghichu            = obj.ghiChu,
                DaXacNhan         = obj.daXacNhan,
                DaThanhToan       = obj.daThanhToan,
                Diachi            = obj.diaChi,
                TrangThai         = true,
                NgayChinhSua      = DateTime.Now
            };

            order.ChiTetPhieuDatHangs = new List <ChiTietPhieuDatHang>();

            foreach (var i in obj.chiTietPhieuDatHang)
            {
                order.ChiTetPhieuDatHangs.Add(i);
            }

            await _phieuDatHangRepo.InsertAsync(order);
        }
示例#2
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (grChiTietPhieuDatHang.Rows.Count <= 1)
            {
                MessageBox.Show("Danh sách sản phẩm rỗng, vui lòng nhập thêm sản phẩm", "Thông báo");
                return;
            }

            PhieuDatHang phieuDatHang = new PhieuDatHang();

            phieuDatHang.NgayDatHang = DateTime.Now;
            phieuDatHang.MaNCC       = int.Parse(cbNCC.SelectedValue.ToString());
            db.PhieuDatHangs.InsertOnSubmit(phieuDatHang);
            db.SubmitChanges();

            for (int i = 0; i < grChiTietPhieuDatHang.Rows.Count - 1; i++)
            {
                DataGridViewRow hang = grChiTietPhieuDatHang.Rows[i];

                ChiTietPhieuDatHang chiTietPDH = new ChiTietPhieuDatHang();
                chiTietPDH.MaPDH      = phieuDatHang.MaPDH;
                chiTietPDH.MaSP       = int.Parse(hang.Cells[0].Value.ToString());
                chiTietPDH.SoLuongDat = int.Parse(hang.Cells[2].Value.ToString());
                chiTietPDH.DonGiaDat  = int.Parse(hang.Cells[3].Value.ToString());

                db.ChiTietPhieuDatHangs.InsertOnSubmit(chiTietPDH);
                db.SubmitChanges();
            }

            MessageBox.Show("Tạo đơn đặt hàng thành công", "Thông báo");
            btnLuu.Enabled = false;
        }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            PhieuDatHang phieuDatHang = db.PhieuDatHangs.Find(id);

            DeleteAllCTPDH(id);
            db.PhieuDatHangs.Remove(phieuDatHang);
            db.SaveChanges();
            SetAlert("Xóa phiếu đặt hàng thành công!", "success");
            return(RedirectToAction("Index"));
        }
示例#4
0
        private void ViewPhieuDatHang_Load(object sender, EventArgs e)
        {
            id           = (int)this.Tag;
            phieuDatHang = db.PhieuDatHangs.SingleOrDefault(pdh => pdh.MaPDH == id);

            labelMaPDH.Text       = "Mã đơn đặt hàng: " + phieuDatHang.MaPDH.ToString();
            labelNgayDatHang.Text = "Ngày đặt hàng: " + phieuDatHang.NgayDatHang.ToString();
            labelNhaCungCap.Text  = "Tên nhà cung cấp: " + phieuDatHang.NhaCungCap.TenNCC;
            HienThiDanhSachSanPham();
        }
示例#5
0
        public async Task Update(PhieuDatHangViewModel model, PhieuDatHang phieu)
        {
            PhieuDatHang edit = phieu;

            phieu.DaXacNhan    = model.daXacNhan;
            phieu.DaThanhToan  = model.daThanhToan;
            phieu.NgayChinhSua = DateTime.Now;
            phieu.TrangThai    = model.trangThai;

            await _phieuDatHangRepo.EditAsync(edit);
        }
示例#6
0
        public async Task <ActionResult> ThanhToan(PhieuDatHangViewModel datHang)
        {
            var phieuDatHang = new PhieuDatHang();

            phieuDatHang.NgayDat           = DateTime.Now;
            phieuDatHang.TenKhachHang      = datHang.tenKhachHang;
            phieuDatHang.SoDienThoai       = datHang.soDienThoai;
            phieuDatHang.Diachi            = datHang.diaChi;
            phieuDatHang.Email             = datHang.email;
            phieuDatHang.HinhThucThanhToan = datHang.hinhThucThanhToan;
            phieuDatHang.Ghichu            = datHang.ghiChu;
            phieuDatHang.NgayChinhSua      = DateTime.Now;
            phieuDatHang.DaThanhToan       = false;
            phieuDatHang.DaXacNhan         = false;
            phieuDatHang.TrangThai         = true;

            try
            {
                var     soPhieuBanHang = _phieuDatHangBus.Insert(phieuDatHang);
                var     cart           = (List <PhieuDatHangViewModel>)Session[CartSession];
                decimal total          = 0;
                foreach (var item in cart)
                {
                    var chiTietPhieuDatHang = new ChiTietPhieuDatHang();
                    chiTietPhieuDatHang.MaHangHoa      = item.maHangHoa;
                    chiTietPhieuDatHang.SoPhieuDatHang = soPhieuBanHang;
                    chiTietPhieuDatHang.SoLuong        = item.soLuong;
                    if (item.giamGia <= 0)
                    {
                        chiTietPhieuDatHang.Gia       = item.giaBan;
                        chiTietPhieuDatHang.ThanhTien = item.giaBan * item.soLuong;
                        total += (item.giaBan * item.soLuong);
                    }
                    else
                    {
                        chiTietPhieuDatHang.Gia       = item.giamGia;
                        chiTietPhieuDatHang.ThanhTien = item.giamGia * item.soLuong;
                        total += (item.giamGia * item.soLuong);
                    }

                    _chiTietPhieuDatHangBus.Insert(chiTietPhieuDatHang);
                }
                phieuDatHang.TongTien = total;
                _phieuDatHangBus.UpdateTongTien(phieuDatHang);
            }
            catch (Exception)
            {
                SetAlert("Đã xảy ra lỗi trong quá trình đặt hàng! Vui lòng thực hiện lại!!!", "error");
                return(RedirectToAction("ThanhToan"));
            }
            Session[CartSession] = null;
            return(RedirectToAction("ThongBaoThanhCong"));
        }
示例#7
0
        public ActionResult Edit([Bind(Include = "SoPhieuDatHang,NgayDat,MaNguoiDung,TenKhachHang,SoDienThoai,Diachi,Email,TongTien,HinhThucThanhToan,GhiChu,NgayGiao,DaXacNhan,DaThanhToan,IsDeleted,NgayChinhSua")] PhieuDatHang phieuDatHang)
        {
            if (ModelState.IsValid)
            {
                db.Entry(phieuDatHang).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            var user = (NguoiDung)Session["Account"];

            ViewBag.MaNguoiDung         = new SelectList(db.NguoiDungs.Where(nd => nd.MaNguoiDung == user.MaNguoiDung), "MaNguoiDung", "TenNguoiDung"); ViewBag.MaHangHoa = new SelectList(db.HangHoas.Where(hh => hh.IsDeleted == false), "MaHangHoa", "TenHangHoa");
            ViewBag.ChiTietPhieuDatHang = db.ChiTietPhieuDatHangs.ToList();
            return(View(phieuDatHang));
        }
        public async Task Update(PhieuDatHang entity)
        {
            DateTime today = DateTime.Now;
            int      thang = today.Month;
            int      nam   = today.Year;

            foreach (var i in entity.ChiTietPhieuDatHangs)
            {
                _hangHoaBus.CapNhatHangHoaKhiTaoPhieuBanHang(i.MaHangHoa, i.SoLuong);
                _hangHoaBus.CapNhapHangHoaVaoBaoCaoTonKhiTaoPhieuBanHang(i.MaHangHoa, i.SoLuong, thang, nam);
            }

            await _phieuDatHangRepo.EditAsync(entity);
        }
示例#9
0
        // GET: PhieuDatHang/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuDatHang phieuDatHang = db.PhieuDatHangs.Find(id);

            if (phieuDatHang == null)
            {
                return(HttpNotFound());
            }
            return(View(phieuDatHang));
        }
示例#10
0
        public bool UpdateTongTien(PhieuDatHang entity)
        {
            try
            {
                var user = dbContext.PhieuDatHangs.Find(entity.SoPhieuDatHang);
                user.TongTien = entity.TongTien;

                dbContext.SaveChanges();
            }
            catch (Exception)
            {
            }

            return(true);
        }
示例#11
0
        // GET: PhieuDatHang/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuDatHang phieuDatHang = db.PhieuDatHangs.Find(id);

            if (phieuDatHang == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaHangHoa           = new SelectList(db.HangHoas.Where(i => i.IsDeleted != true), "MaHangHoa", "TenHangHoa");
            ViewBag.ChiTietPhieuDatHang = db.ChiTietPhieuDatHangs.ToList();
            return(View(phieuDatHang));
        }
示例#12
0
        // GET: PhieuDatHang/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuDatHang phieuDatHang = db.PhieuDatHangs.Find(id);

            if (phieuDatHang == null)
            {
                return(HttpNotFound());
            }
            var user = (NguoiDung)Session["Account"];

            ViewBag.MaNguoiDung         = new SelectList(db.NguoiDungs.Where(nd => nd.MaNguoiDung == user.MaNguoiDung), "MaNguoiDung", "TenNguoiDung"); ViewBag.MaHangHoa = new SelectList(db.HangHoas.Where(hh => hh.IsDeleted == false), "MaHangHoa", "TenHangHoa");
            ViewBag.ChiTietPhieuDatHang = db.ChiTietPhieuDatHangs.ToList();
            return(View(phieuDatHang));
        }
        public async Task DeletePhieuDatHang(object deleteModel)
        {
            PhieuDatHang xoaPhieuDatHang = (PhieuDatHang)deleteModel;

            xoaPhieuDatHang.TrangThai    = false;
            xoaPhieuDatHang.NgayChinhSua = DateTime.Now;

            var phieuDatHang = dbContext.ChiTietPhieuDatHanges.Where(x => x.SoPhieuDatHang == xoaPhieuDatHang.SoPhieuDatHang);
            int thang        = dbContext.PhieuDatHangs.SingleOrDefault(x => x.SoPhieuDatHang == xoaPhieuDatHang.SoPhieuDatHang).NgayDat.Month;
            int nam          = dbContext.PhieuDatHangs.SingleOrDefault(x => x.SoPhieuDatHang == xoaPhieuDatHang.SoPhieuDatHang).NgayDat.Year;

            foreach (var i in phieuDatHang)
            {
                _hangHoaBus.CapNhatHangHoaKhiXoaPhieuBanHang(i.MaHangHoa, i.SoLuong);
                _hangHoaBus.CapNhapHangHoaVaoBaoCaoTonKhiHuyPhieuBanHang(i.MaHangHoa, i.SoLuong, thang, nam);
            }

            await _phieuDatHangRepo.EditAsync(xoaPhieuDatHang);
        }
示例#14
0
        public ActionResult SuaPhieuDatHang(PhieuDatHang phieuDatHang)
        {
            bool status = false;

            try
            {
                var phieudathang = db.PhieuDatHangs.SingleOrDefault(pdh => pdh.SoPhieuDatHang == phieuDatHang.SoPhieuDatHang);
                if (phieudathang != null)
                {
                    phieudathang.NgayDat           = phieuDatHang.NgayDat;
                    phieudathang.MaNguoiDung       = phieuDatHang.MaNguoiDung;
                    phieudathang.TenKhachHang      = phieuDatHang.TenKhachHang;
                    phieudathang.TongTien          = phieuDatHang.TongTien;
                    phieudathang.SoDienThoai       = phieuDatHang.SoDienThoai;
                    phieudathang.Email             = phieuDatHang.Email;
                    phieudathang.Diachi            = phieuDatHang.Diachi;
                    phieudathang.GhiChu            = phieuDatHang.GhiChu;
                    phieudathang.HinhThucThanhToan = phieuDatHang.HinhThucThanhToan;
                    phieudathang.NgayGiao          = phieuDatHang.NgayGiao;
                    phieudathang.DaThanhToan       = phieuDatHang.DaThanhToan;
                    phieudathang.DaXacNhan         = phieuDatHang.DaXacNhan;
                    phieudathang.IsDeleted         = phieuDatHang.IsDeleted;
                    phieudathang.NgayChinhSua      = DateTime.Now.Date;
                    DeleteAllCTPDH(phieudathang.SoPhieuDatHang);
                    SaveAllCTPDH(phieuDatHang.ChiTietPhieuDatHangs, phieudathang.SoPhieuDatHang);
                    db.SaveChanges();
                    status = true;
                    SetAlert("Sửa phiếu đặt hàng thành công!", "success");
                }
                else
                {
                    status = false;
                }
            }
            catch
            {
                status = false;
                throw;
            }
            return(new JsonResult {
                Data = new { status = status }
            });
        }
示例#15
0
        public ActionResult LuuPhieuDatHang(PhieuDatHang phieuDatHang)
        {
            PhieuDatHang pdh = new PhieuDatHang
            {
                NgayDat           = phieuDatHang.NgayDat,
                MaNguoiDung       = phieuDatHang.MaNguoiDung,
                TenKhachHang      = phieuDatHang.TenKhachHang,
                TongTien          = phieuDatHang.TongTien,
                SoDienThoai       = phieuDatHang.SoDienThoai,
                Email             = phieuDatHang.Email,
                Diachi            = phieuDatHang.Diachi,
                GhiChu            = phieuDatHang.GhiChu,
                HinhThucThanhToan = phieuDatHang.HinhThucThanhToan,
                NgayGiao          = phieuDatHang.NgayGiao,
                DaThanhToan       = phieuDatHang.DaThanhToan,
                DaXacNhan         = phieuDatHang.DaXacNhan,
                IsDeleted         = phieuDatHang.IsDeleted,
                NgayChinhSua      = DateTime.Now.Date
            };
            bool status = false;

            try
            {
                db.PhieuDatHangs.Add(pdh);
                db.SaveChanges();
                SaveAllCTPDH(phieuDatHang.ChiTietPhieuDatHangs, pdh.SoPhieuDatHang);
                SetAlert("Tạo phiếu đặt hàng thành công!", "success");
                status = true;
            }
            catch
            {
                status = false;
                throw;
            }
            return(new JsonResult {
                Data = new { status = status }
            });
        }
        public async Task <ActionResult> Deletes(int id)
        {
            PhieuDatHang deletePhieu = (PhieuDatHang)await _phieuDatHangBUS.Find(id);

            if (deletePhieu == null)
            {
                return(HttpNotFound());
            }
            else
            {
                try
                {
                    await _phieuDatHangBUS.DeletePhieuDatHang(deletePhieu);

                    SetAlert("Đã hủy phiếu đặt hàng thành công!!!", "success");
                }
                catch
                {
                    SetAlert("Đã xảy ra lỗi! Bạn hãy hủy lại", "error");
                }
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Order(string TENKHACHHANG, string SDT, string DIACHI, string EMAIL, float TONGTIEN)
        {
            //them phieu dat hang
            DateTime     ngaydat           = DateTime.Now;
            string       tenkhachhang      = TENKHACHHANG;
            string       sdt               = SDT;
            string       diachi            = DIACHI;
            string       email             = EMAIL;
            float        tongtien          = TONGTIEN; //fixed bug
            string       hinhthucthanhtoan = "Thanh toán khi nhận hàng";
            bool         dathanhtoan       = false;
            bool         daxacnhan         = false;
            bool         isdeleted         = false;
            PhieuDatHang pdh               = new PhieuDatHang
            {
                NgayDat           = ngaydat,
                TenKhachHang      = tenkhachhang,
                SoDienThoai       = sdt,
                Diachi            = diachi,
                Email             = email,
                TongTien          = (decimal)tongtien,
                HinhThucThanhToan = hinhthucthanhtoan,
                DaThanhToan       = dathanhtoan,
                DaXacNhan         = daxacnhan,
                IsDeleted         = isdeleted
            };

            try {
                db.PhieuDatHangs.Add(pdh);
                db.SaveChanges();
            }
            catch { throw; }
            //them chi tiet phieu dat hang
            int sophieudathang = pdh.SoPhieuDatHang;

            if (Session["Cart"] != null)
            {
                List <ChiTietPhieuDatHang> cart = Session["Cart"] as List <ChiTietPhieuDatHang>;
                for (int i = 0; i < cart.Count; i++)
                {
                    try {
                        db.ChiTietPhieuDatHangs.Add(new ChiTietPhieuDatHang
                        {
                            SoPhieuDatHang = sophieudathang,
                            MaHangHoa      = cart[i].MaHangHoa,
                            SoLuong        = cart[i].SoLuong,
                            Gia            = cart[i].Gia,
                            ThanhTien      = cart[i].ThanhTien
                        });
                        db.SaveChanges();
                        ////update so luong hang hoa
                        //HangHoa hh = db.HangHoas.AsEnumerable().SingleOrDefault(o => o.MaHangHoa == cart[i].MaHangHoa);
                        //if(hh!= null)
                        //hh.SoLuong -= cart[i].SoLuong;
                        //db.SaveChanges(); loai bo
                    }
                    catch { throw; }
                }
            }
            //reset gio hang
            Session["Cart"] = null;
            SetAlert("Đặt hàng thành công!", "success");

            return(Redirect("Home/Index"));
        }
示例#18
0
 public int Insert(PhieuDatHang order)
 {
     dbContext.PhieuDatHangs.Add(order);
     dbContext.SaveChanges();
     return(order.SoPhieuDatHang);
 }