Example #1
0
        public async Task Create(PhieuBanHangViewModel obj)
        {
            PhieuBanHang order = new PhieuBanHang
            {
                SoPhieuBanHang = obj.soPhieuBanHang,
                NgayBan        = obj.ngayBan,
                MaNhanVien     = obj.maNhanVien,
                Ghichu         = obj.ghiChu,
                TenKhachHang   = obj.tenKhachHang,
                SoDienThoai    = obj.soDienThoai,
                TongTien       = obj.tongTien,
                TrangThai      = true,
                NgayChinhSua   = DateTime.Now
            };

            order.ChiTetPhieuBanHangs = new List <ChiTietPhieuBanHang>();

            DateTime today = DateTime.Now;
            int      thang = today.Month;
            int      nam   = today.Year;

            foreach (var i in obj.chiTietPhieuBanHang)
            {
                order.ChiTetPhieuBanHangs.Add(i);
                //Sơn
                _hangHoaBus.CapNhatHangHoaKhiTaoPhieuBanHang(i.MaHangHoa, i.SoLuong);
                _hangHoaBus.CapNhatHangHoaVaoBaoCaoTonKhoKhiTaoPhieuBanHang(i.MaHangHoa, i.SoLuong, thang, nam);
            }

            await _phieuBanHangRepo.InsertAsync(order);
        }
Example #2
0
        public ActionResult SuaPhieuBanHang(PhieuBanHang phieuBanHang)
        {
            bool status = false;

            try
            {
                var phieubanhang = db.PhieuBanHangs.SingleOrDefault(pbh => pbh.SoPhieuBanHang == phieuBanHang.SoPhieuBanHang);
                if (phieubanhang != null)
                {
                    phieubanhang.NgayBan      = phieuBanHang.NgayBan;
                    phieubanhang.MaNguoiDung  = phieuBanHang.MaNguoiDung;
                    phieubanhang.TenKhachHang = phieuBanHang.TenKhachHang;
                    phieubanhang.TongTien     = phieuBanHang.TongTien;
                    phieubanhang.SoDienThoai  = phieuBanHang.SoDienThoai;
                    phieubanhang.GhiChu       = phieuBanHang.GhiChu;
                    phieubanhang.IsDeleted    = phieuBanHang.IsDeleted;
                    phieubanhang.NgayChinhSua = DateTime.Now.Date;
                    db.SaveChanges();
                    status = true;
                    SetAlert("Sửa phiếu bán hàng thành công!", "success");
                }
                else
                {
                    status = false;
                }
            }
            catch
            {
                status = false;
                throw;
            }
            return(new JsonResult {
                Data = new { status = status }
            });
        }
Example #3
0
        public async Task Create(PhieuBanHangViewModel O)
        {
            var          nhanVien    = _nhanVienRepo.GetAll().ToList();
            var          maNhienVien = nhanVien.FirstOrDefault(t => t.TenNhanvien == O.tenNhanVien).MaNhanVien;
            PhieuBanHang order       = new PhieuBanHang
            {
                SoPhieuBanHang       = O.soPhieuBanHang,
                NgayBan              = O.ngayBan,
                MaNhanVien           = maNhienVien,
                Ghichu               = O.ghiChu,
                TrangThai            = true,
                TenKhachHang         = O.tenKhachHang,
                SoDienThoai          = O.soDienThoai,
                TongTien             = O.tongTien,
                NgayChinhSua         = DateTime.Now,
                ChiTietPhieuBanHangs = O.chiTietPhieuBanHang
            };
            await _phieuBanHangRepo.InsertAsync(order);

            // Lấy các mã hàng hóa để giảm số lượng => Lấy trong chi tiết phiếu bán hàng
            foreach (var item in order.ChiTietPhieuBanHangs)
            {
                _hangHoaBus.CapNhapHangHoaVaoBaoCaoTonKhiTaoPhieuBanHang(item.MaHangHoa, item.SoLuong, DateTime.Now.Month, DateTime.Now.Year);
                //Tìm trong csdl các hàng hóa có mã hàng hóa ở trên
                var hanghoa = _hangHoaRepo.Fetch(t => t.MaHangHoa == item.MaHangHoa).FirstOrDefault();
                //Trừ số lượng người nhập
                hanghoa.SoLuongTon = hanghoa.SoLuongTon - item.SoLuong;
                //Lưu lại
                await _hangHoaRepo.EditAsync(hanghoa);
            }
        }
Example #4
0
        public ActionResult LuuPhieuBanHang(PhieuBanHang phieuBanHang)
        {
            PhieuBanHang pbh = new PhieuBanHang
            {
                NgayBan      = phieuBanHang.NgayBan,
                MaNguoiDung  = phieuBanHang.MaNguoiDung,
                TenKhachHang = phieuBanHang.TenKhachHang,
                TongTien     = phieuBanHang.TongTien,
                SoDienThoai  = phieuBanHang.SoDienThoai,
                GhiChu       = phieuBanHang.GhiChu,
                IsDeleted    = phieuBanHang.IsDeleted,
                NgayChinhSua = DateTime.Now.Date
            };
            bool status = false;

            try
            {
                db.PhieuBanHangs.Add(pbh);
                db.SaveChanges();
                SaveAllCTPBH(phieuBanHang.ChiTietPhieuBanHangs, pbh.SoPhieuBanHang);
                SetAlert("Tạo phiếu bán hàng thành công!", "success");
                status = true;
            }
            catch
            {
                status = false;
                throw;
            }
            return(new JsonResult {
                Data = new { status = status }
            });
        }
Example #5
0
        //[HttpPost]
        public async Task <ActionResult> Deletes(int id)
        {
            PhieuBanHang huyPhieuBanHang = (PhieuBanHang)await _phieuBanHangBus.Find(id);

            if (huyPhieuBanHang == null)
            {
                SetAlert("Đã xảy ra lỗi! Bạn hãy hủy lại", "error");
                return(RedirectToAction("Edit"));
            }
            else
            {
                try
                {
                    await _phieuBanHangBus.HuyPhieuBanHang(huyPhieuBanHang);

                    SetAlert("Đã hủy phiếu kiểm kho thành công!!!", "success");
                }
                catch
                {
                    SetAlert("Đã xảy ra lỗi! Bạn hãy hủy lại", "error");
                    return(RedirectToAction("Edit"));
                }
            }
            return(RedirectToAction("Index"));
        }
Example #6
0
        public async Task <ActionResult> Deletes(int id)
        {
            PhieuBanHang deletePhieuBanHang = (PhieuBanHang)await _phieuBanHangBUS.Find(id);

            if (deletePhieuBanHang == null)
            {
                return(HttpNotFound());
            }
            else
            {
                // Access delete from Business
                try
                {
                    await _phieuBanHangBUS.Delete(deletePhieuBanHang);

                    SetAlert("Đã hủy phiếu bán 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("Delete"));
                }
            }
            return(RedirectToAction("Index"));
        }
Example #7
0
        private void gridView1_MasterRowEmpty(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowEmptyEventArgs e)
        {
            GridView     view  = sender as GridView;
            PhieuBanHang Phieu = view.GetRow(e.RowHandle) as PhieuBanHang;

            if (Phieu != null)
            {
                e.IsEmpty = !CT_phieu.Any(x => x.MaPBH == Phieu.MaBH);
            }
        }
Example #8
0
        private void gridView1_MasterRowGetChildList(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowGetChildListEventArgs e)
        {
            GridView     view  = sender as GridView;
            PhieuBanHang Phieu = view.GetRow(e.RowHandle) as PhieuBanHang;

            if (Phieu != null)
            {
                e.ChildList = CT_phieu.Where(x => x.MaPBH == Phieu.MaBH).ToList();
            }
        }
Example #9
0
        public ActionResult DeleteConfirmed(int id)
        {
            DeleteAllCTPBH(id);
            PhieuBanHang phieuBanHang = db.PhieuBanHangs.Find(id);

            DeleteAllCTPBH(id);
            db.PhieuBanHangs.Remove(phieuBanHang);
            db.SaveChanges();
            SetAlert("Xóa phiếu bán hàng thành công!", "success");
            return(RedirectToAction("Index"));
        }
Example #10
0
 public bool CheckSoLuong(PhieuBanHang pbh)
 {
     foreach (var i in pbh.ChiTietPhieuBanHangs)
     {
         var hanghoa = db.HangHoas.Where(hh => hh.MaHangHoa == i.MaHangHoa).FirstOrDefault();
         if (i.SoLuong > hanghoa.SoLuong)
         {
             return(false);
         }
     }
     return(true);
 }
Example #11
0
        public ActionResult Edit([Bind(Include = "SoPhieuBanHang,NgayBan,MaNguoiDung,TenKhachHang,SoDienThoai,TongTien,GhiChu,NgayChinhSua,IsDeleted")] PhieuBanHang phieuBanHang)
        {
            if (ModelState.IsValid)
            {
                db.Entry(phieuBanHang).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.ChiTietPhieuBanHang = db.ChiTietPhieuBanHangs.ToList();
            return(View(phieuBanHang));
        }
Example #12
0
        // GET: PhieuBanHang/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuBanHang phieuBanHang = db.PhieuBanHangs.Find(id);

            if (phieuBanHang == null)
            {
                return(HttpNotFound());
            }
            return(View(phieuBanHang));
        }
Example #13
0
        // GET: PhieuBanHang/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuBanHang phieuBanHang = db.PhieuBanHangs.Find(id);

            if (phieuBanHang == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaHangHoa           = new SelectList(db.HangHoas.Where(i => i.IsDeleted != true), "MaHangHoa", "TenHangHoa");
            ViewBag.ChiTietPhieuBanHang = db.ChiTietPhieuBanHangs.ToList();
            return(View(phieuBanHang));
        }
Example #14
0
        private void btnOpenForm_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;

            if (btn.Text == "Nhập hàng")
            {
                PhieuNhapHang frmPhieuNhap = new PhieuNhapHang();
                frmPhieuNhap.ShowDialog();
            }
            else if (btn.Text == "Bán hàng")
            {
                PhieuBanHang frmBanHang = new PhieuBanHang();
                frmBanHang.ShowDialog();
            }
            else if (btn.Text == "Khách hàng")
            {
                KhachHang frmKhachHang = new KhachHang();
                frmKhachHang.ShowDialog();
            }
            else if (btn.Text == "Kiểm tra kho hàng")
            {
                KhoHang frmKhoHang = new KhoHang();
                frmKhoHang.ShowDialog();
            }
            else if (btn.Text == "Nhà cung cấp")
            {
                NhaCungCap frmNhaCungCap = new NhaCungCap();
                frmNhaCungCap.ShowDialog();
            }
            else if (btn.Text == "Ghi nợ")
            {
                GhiNo frmGhiNo = new GhiNo();
                frmGhiNo.ShowDialog();
            }
            else if (btn.Text == "Thống kê")
            {
                ThongKe frmThongKe = new ThongKe();
                frmThongKe.ShowDialog();
            }
            else
            {
                ThayDoiQuyDinh frmThayDoiQuyDinh = new ThayDoiQuyDinh();
                frmThayDoiQuyDinh.ShowDialog();
            }
        }
Example #15
0
        // GET: PhieuBanHang/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuBanHang phieuBanHang = db.PhieuBanHangs.Find(id);

            if (phieuBanHang == 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.ChiTietPhieuBanHang = db.ChiTietPhieuBanHangs.ToList();
            return(View(phieuBanHang));
        }
Example #16
0
        public async Task HuyPhieuBanHang(object editModel)
        {
            try
            {
                PhieuBanHang editPhieuBanHang = (PhieuBanHang)editModel;
                var          phieuBanHang     = dbContext.ChiTietPhieuBanHanges.Where(x => x.SoPhieuBanHang == editPhieuBanHang.SoPhieuBanHang);

                foreach (var i in phieuBanHang)
                {
                    _hangHoaBus.CapNhapHangHoaVaoBaoCaoTonKhiHuyPhieuBanHang(i.MaHangHoa, i.SoLuong, editPhieuBanHang.NgayBan.Month, editPhieuBanHang.NgayBan.Year);
                    _hangHoaBus.CapNhatHangHoaKhiXoaPhieuBanHang(i.MaHangHoa, i.SoLuong);
                }
                editPhieuBanHang.TrangThai = false;
                await _phieuBanHangRepo.EditAsync(editPhieuBanHang);
            }
            catch (Exception)
            {
            }
        }
Example #17
0
        public async Task Delete(object deleteModel)
        {
            PhieuBanHang xoaPhieuBanHang = (PhieuBanHang)deleteModel;

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

            //Sơn
            var phieuBanHang = dbContext.ChiTietPhieuBanHangs.Where(x => x.SoPhieuBanHang == xoaPhieuBanHang.SoPhieuBanHang);
            int thang        = dbContext.PhieuBanHangs.SingleOrDefault(x => x.SoPhieuBanHang == xoaPhieuBanHang.SoPhieuBanHang).NgayBan.Month;
            int nam          = dbContext.PhieuBanHangs.SingleOrDefault(x => x.SoPhieuBanHang == xoaPhieuBanHang.SoPhieuBanHang).NgayBan.Year;

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

            await _phieuBanHangRepo.EditAsync(xoaPhieuBanHang);

            //await _phieuBanHangRepo.DeleteAsync(xoaPhieuBanHang);
        }
Example #18
0
        private void gr_btn_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            int intRow = gridView1.FocusedRowHandle;

            if ((intRow >= 0) && (gridView1.GetRowCellValue(intRow, "DonHangID") != null))
            {
                string strDonHangID = gridView1.GetRowCellValue(intRow, "DonHangID").ToString();
                switch (e.Button.Caption.ToUpper())
                {
                case "PRINT":
                    PhieuBanHang rp = new PhieuBanHang();
                    rp.SetDataSource(reportsController.prtDonHang(strDonHangID));
                    rp.Refresh();
                    ThongTinShop shop = ThongTinShopController.GetItem();
                    rp.SetParameterValue("TenShop", shop.TenShop);
                    rp.SetParameterValue("DiaChi", shop.DiaChi);
                    rp.SetParameterValue("SoDienThoai", shop.SoDienThoai);
                    rp.SetParameterValue("WebSite", shop.website);
                    frmViewReports fReport = null;
                    foreach (Form item in MdiChildren)
                    {
                        if (item.GetType() == typeof(frmViewReports))
                        {
                            fReport = (item as frmViewReports);
                            fReport.crystalReportViewer1.ReportSource = rp;
                            fReport.Activate();
                            return;
                        }
                    }
                    fReport = new frmViewReports();
                    fReport.crystalReportViewer1.ReportSource = rp;
                    fReport.MdiParent = this.MdiParent;
                    fReport.Show();
                    break;

                case "DEL":
                    if (MessageBox.Show("Bạn muốn xóa đơn hàng này", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                    {
                        DonHangController.Del(strDonHangID);
                        gridControl1.DataSource = DonHangController.GetAllList();
                    }
                    break;

                case "VIEW":
                    DonHang viewItem = DonHangController.GetItem(strDonHangID);
                    if (viewItem != null)
                    {
                        frmAddDonHang f = new frmAddDonHang();
                        f.ViewItem  = viewItem;
                        f.forMode   = "view";
                        f.MdiParent = this.MdiParent;
                        f.Show();
                        this.Dispose();
                    }
                    break;

                default:
                    break;
                }
            }
        }
Example #19
0
        public ActionResult LuuPhieuBanHangTuPhieuDatHang(PhieuBanHang phieuBanHang)
        {
            var idnguoidung = -1;

            if (Session["Account"] != null)
            {
                if (!CheckSoLuong(phieuBanHang))
                {
                    return(new JsonResult {
                        Data = new { status = false }
                    });
                }
                NguoiDung a = Session["Account"] as NguoiDung;
                idnguoidung = a.MaNguoiDung;
                PhieuBanHang pbh = new PhieuBanHang
                {
                    NgayBan      = phieuBanHang.NgayBan,
                    MaNguoiDung  = idnguoidung,
                    TenKhachHang = phieuBanHang.TenKhachHang,
                    TongTien     = phieuBanHang.TongTien,
                    SoDienThoai  = phieuBanHang.SoDienThoai,
                    GhiChu       = phieuBanHang.GhiChu,
                    IsDeleted    = phieuBanHang.IsDeleted,
                    NgayChinhSua = DateTime.Now.Date
                };
                bool status = false;
                try
                {
                    db.PhieuBanHangs.Add(pbh);
                    db.SaveChanges();
                    SaveAllCTPBH(phieuBanHang.ChiTietPhieuBanHangs, pbh.SoPhieuBanHang);
                    SetAlert("Tạo phiếu bán hàng thành công!", "success");
                    status = true;
                }
                catch
                {
                    status = false;
                    throw;
                }
                return(new JsonResult {
                    Data = new { status = status }
                });
            }
            else //NO SESSION
            {
                if (!CheckSoLuong(phieuBanHang))
                {
                    return(new JsonResult {
                        Data = new { status = false }
                    });
                }
                PhieuBanHang pbh = new PhieuBanHang
                {
                    NgayBan      = phieuBanHang.NgayBan,
                    MaNguoiDung  = phieuBanHang.MaNguoiDung,
                    TenKhachHang = phieuBanHang.TenKhachHang,
                    TongTien     = phieuBanHang.TongTien,
                    SoDienThoai  = phieuBanHang.SoDienThoai,
                    GhiChu       = phieuBanHang.GhiChu,
                    IsDeleted    = phieuBanHang.IsDeleted,
                    NgayChinhSua = DateTime.Now.Date
                };
                bool status = false;
                try
                {
                    db.PhieuBanHangs.Add(pbh);
                    db.SaveChanges();
                    SaveAllCTPBH(phieuBanHang.ChiTietPhieuBanHangs, pbh.SoPhieuBanHang);
                    status = true;
                }
                catch
                {
                    status = false;
                    throw;
                }
                return(new JsonResult {
                    Data = new { status = status }
                });
            }
        }