示例#1
0
        public IHttpActionResult PutHoaDonBanHang(int id, HoaDonBanHang hoaDonBanHang)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != hoaDonBanHang.IDHoaDonBanHang)
            {
                return(BadRequest());
            }

            db.Entry(hoaDonBanHang).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HoaDonBanHangExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#2
0
        public BanHangReport(BanHangDTO info)
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("vi-VN");
            InitializeComponent();
            var materialSkinManager = MaterialSkinManager.Instance;

            materialSkinManager.AddFormToManage(this);
            materialSkinManager.Theme       = MaterialSkinManager.Themes.LIGHT;
            materialSkinManager.ColorScheme = new ColorScheme(Primary.Teal500, Primary.Teal700, Primary.Teal500,
                                                              Accent.Red700, TextShade.WHITE);

            using (KhuVucBUS bus = new KhuVucBUS())
            {
                HoaDonBanHang hdbh       = new HoaDonBanHang();
                var           lblSoPhieu = hdbh.ReportDefinition.ReportObjects["lblSoPhieu"] as TextObject;
                lblSoPhieu.Text = "Số phiếu: " + info.SoHoaDon;
                var lblKhu = hdbh.ReportDefinition.ReportObjects["lblKhu"] as TextObject;
                lblKhu.Text = "Khu: " + bus.GetChiTiet(info.MaSoBan).Rows[0].Field <string>("TenKhuVuc");
                var lblBan = hdbh.ReportDefinition.ReportObjects["lblBan"] as TextObject;
                lblBan.Text = "Bàn: " + bus.GetChiTiet(info.MaSoBan).Rows[0].Field <string>("TenBan");
                var lblGioRa = hdbh.ReportDefinition.ReportObjects["lblGioRa"] as TextObject;
                lblGioRa.Text = "Giờ ra: " + info.GioRa.ToString("dd/MM/yyyy H:mm");

                var lblTongCong = hdbh.ReportDefinition.ReportObjects["lblTongCong"] as TextObject;
                lblTongCong.Text = info.ChuaThue.ToString("N0");
                var lblKhuyenMai = hdbh.ReportDefinition.ReportObjects["lblKhuyenMai"] as TextObject;
                lblKhuyenMai.Text = info.KhuyenMai + " %";
                var lblThanhToan = hdbh.ReportDefinition.ReportObjects["lblThanhToan"] as TextObject;
                lblThanhToan.Text = info.TongTien.ToString("N0");

                hdbh.SetDataSource(info.ChiTiet);
                crystalReportViewer1.ReportSource = hdbh;
                crystalReportViewer1.Refresh();
            }
        }
        private void btnBatDau_Click(object sender, EventArgs e)
        {
            try
            {
                //tạo đơn hàng xong cần cập nhật lại trạng thái phòng
                var p = db.Phongs.SingleOrDefault(x => x.ID == idPhong);
                //lấy ra loại phòng tương ứng với phòng được chọn
                var lp = db.LoaiPhongs.SingleOrDefault(x => x.ID == p.IDLoaiPhong);

                var od = new HoaDonBanHang();
                od.IDPhong      = idPhong;
                od.NguoiBan     = nhanvien;
                od.ThoiGianBDau = DateTime.ParseExact(mtbBatDau.Text, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);
                od.NgayTao      = DateTime.Now;
                od.NguoiTao     = nhanvien;
                od.DonGiaPhong  = lp.DonGia;

                db.HoaDonBanHangs.InsertOnSubmit(od);
                db.SubmitChanges();


                p.TrangThai = 1;
                db.SubmitChanges();

                LoadPhong(idLoaiPhong, tabIndex);
                btnBatDau.Enabled  = false;
                btnKetThuc.Enabled = true;
                MessageBox.Show("Gọi phòng thành công", "Successfully", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch
            {
                MessageBox.Show("Gọi phòng thất bại", "Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#4
0
        public async Task <IHttpActionResult> GetHoaDonBanHang(int id)
        {
            HoaDonBanHang hoaDonBanHang = await db.HoaDonBanHang.FindAsync(id);

            if (hoaDonBanHang == null)
            {
                return(NotFound());
            }

            return(Ok(hoaDonBanHang));
        }
示例#5
0
        public IHttpActionResult GetHoaDonBanHang(int id)
        {
            HoaDonBanHang hoaDonBanHang = db.HoaDonBanHangs.Find(id);

            if (hoaDonBanHang == null)
            {
                return(NotFound());
            }

            return(Ok(hoaDonBanHang));
        }
示例#6
0
        public IHttpActionResult PostHoaDonBanHang(HoaDonBanHang hoaDonBanHang)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.HoaDonBanHangs.Add(hoaDonBanHang);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = hoaDonBanHang.IDHoaDonBanHang }, hoaDonBanHang));
        }
示例#7
0
        public async Task <IHttpActionResult> PostHoaDonBanHang(HoaDonBanHang hoaDonBanHang)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.HoaDonBanHang.Add(hoaDonBanHang);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = hoaDonBanHang.id }, hoaDonBanHang));
        }
示例#8
0
 private void buttonX6_Click(object sender, EventArgs e)
 {
     if (txt_maphieu.Text == null || txt_maphieu.Text == "")
     {
         MessageBox.Show("Hãy Chọn Phiếu Xuất Để In!");
     }
     else
     {
         HoaDonBanHang baocaof = new HoaDonBanHang(txt_maphieu.Text);
         baocaof.ShowDialog();
     }
 }
示例#9
0
        public void themHoaDon(string manv, string makh, DateTime ngaylap, decimal tongtien, bool vat)
        {
            HoaDonBanHang hdbh = new HoaDonBanHang();

            hdbh.soHD     = (decimal.Parse(db.HoaDonBanHangs.Last().soHD) + 1).ToString();
            hdbh.maNV     = manv;
            hdbh.maKH     = makh;
            hdbh.ngayLap  = ngaylap;
            hdbh.tongTien = tongtien;
            hdbh.VAT      = vat;
            db.HoaDonBanHangs.InsertOnSubmit(hdbh);
            db.SubmitChanges();
        }
示例#10
0
        public IHttpActionResult DeleteHoaDonBanHang(int id)
        {
            HoaDonBanHang hoaDonBanHang = db.HoaDonBanHangs.Find(id);

            if (hoaDonBanHang == null)
            {
                return(NotFound());
            }

            db.HoaDonBanHangs.Remove(hoaDonBanHang);
            db.SaveChanges();

            return(Ok(hoaDonBanHang));
        }
示例#11
0
 // [Lập Hóa Đơn Bán Hàng]
 public void btn_BanHang_ItemClick(object sender, ItemClickEventArgs e)
 {
     if (IsOpened(E_FORM.BANHANG))
     {
         SelectTab(E_FORM.BANHANG);
     }
     else
     {
         frm_banhang = new HoaDonBanHang();
         this.addTabPage(frm_banhang, TitleTab[(int)E_FORM.BANHANG]);
         frm_banhang.mainform = this;
         frm_banhang.SetNV(_NhanVienLogining);
     }
 }
示例#12
0
        public ActionResult AddNew(string message, string inforMessage)
        {
            var           ctx     = new SmsContext();
            var           stores  = ctx.KHOes.Where(u => u.ACTIVE == "A").ToList();
            var           units   = ctx.DON_VI_TINH.Where(u => u.ACTIVE == "A").ToList();;
            HoaDonBanHang hoanDon = new HoaDonBanHang();

            hoanDon.Store        = stores;
            hoanDon.Units        = units;
            hoanDon.Message      = message;
            hoanDon.InforMessage = inforMessage;
            ctx.Dispose();
            return(View(hoanDon));
        }
示例#13
0
        public async Task <IHttpActionResult> DeleteHoaDonBanHang(int id)
        {
            HoaDonBanHang hoaDonBanHang = await db.HoaDonBanHang.FindAsync(id);

            if (hoaDonBanHang == null)
            {
                return(NotFound());
            }

            db.HoaDonBanHang.Remove(hoaDonBanHang);
            await db.SaveChangesAsync();

            return(Ok(hoaDonBanHang));
        }
示例#14
0
        public ActionResult HoaDonBanHang(int MaHoaDon)
        {
            var ctx     = new SmsContext();
            var ListKho = ctx.KHOes.Where(u => u.ACTIVE.Equals("A")).ToList();

            ViewBag.KhoList  = ListKho;
            ViewBag.UserId   = Session["UserId"];
            ViewBag.MyStore  = Session["MyStore"];
            ViewBag.MaHoaDon = MaHoaDon;

            if (MaHoaDon > 0)
            {
                HoaDonBanHang hdbh = new HoaDonBanHang();

                hdbh.KH_Info          = getCustomerByBillNo(MaHoaDon);
                hdbh.lstChiTietHoaDon = getDetailsByBillNo(MaHoaDon);
                ctx.Dispose();
                return(View(hdbh));
            }
            ctx.Dispose();
            return(View());
        }
示例#15
0
        public void AddHoaDon(HoaDonBanHang ex)
        {
            KetNoi.ExecuteReader(@"insert into HoaDonBanHang(MaHDBH,MaKH,MaNV,NgayLapHDBH,TongTien,TrangThai)
Values(N'" + ex.MaHDBH + "',N'" + ex.MaKH + "',N'" + ex.MaNV + "','" + ex.NgayLapHDBH + "'," + ex.TongTien + ",N'" + ex.TrangThai + "')");
        }
示例#16
0
 public void DeleteHoaDon(HoaDonBanHang ex)
 {
     bus.DeleteHoaDon(ex);
 }
示例#17
0
 public void UpdateHoaDon(HoaDonBanHang ex)
 {
     bus.UpdateHoaDon(ex);
 }
示例#18
0
 public void DeleteHoaDon(HoaDonBanHang ex)
 {
     KetNoi.ExecuteReader(@"Delete From HoaDonBanHang Where MaHDBH=N'" + ex.MaHDBH + "'");
 }
示例#19
0
 public void UpdateHoaDon(HoaDonBanHang ex)
 {
     KetNoi.ExecuteReader(@"update HoaDonBanHang Set NgayLapHDBH=N'" + ex.NgayLapHDBH + "',TongTien=" + ex.TongTien + ",TrangThai=N'" + ex.TrangThai + "' Where MaHDBH=N'" + ex.MaHDBH + "'");
 }
示例#20
0
        private void btnThanhToan_Click(object sender, EventArgs e)
        {
            string MaKH;
            string MaHD;

            if (txtSDT.Text == "" || txtTenKH.Text == "" || txtEmail.Text == "" || txtDiaChi.Text == "" || txtMaNV.Text == "" || int.Parse(txtTongTien.Text) < 1)
            {
                /// báo lỗi
                MessageBox.Show("Lỗi dữ liệu.", "Thông báo");
                if (txtTenKH.Text == "")
                {
                    errorProvider1.SetError(txtTenKH, "chưa điền tên khách hàng.");
                }
                if (txtSDT.Text == "")
                {
                    errorProvider1.SetError(txtSDT, "chưa điền sđt khách hàng.");
                }
                if (txtDiaChi.Text == "")
                {
                    errorProvider1.SetError(txtDiaChi, "chưa điền địa chỉ.");
                }
                if (txtEmail.Text == "")
                {
                    errorProvider1.SetError(txtEmail, "chưa điền email.");
                }
                if (txtMaNV.Text == "")
                {
                    errorProvider1.SetError(cbbNhanVien, "chưa chọn nhân viên.");
                }
                if (int.Parse(txtTongTien.Text) < 1)
                {
                    errorProvider1.SetError(txtTongTien, "Chưa có thông tin mặt hàng.");
                }
                return;
            }
            else
            {
                /// lưu thông tin khách hàng
                if (khachhangcu == false)
                {
                    /// add
                    SQL_ThongTin.Add_KhachHang(txtSDT.Text, txtTenKH.Text, txtDiaChi.Text, txtEmail.Text);
                    /// lấy ra mã khách hàng của thằng khách hàng vừa add (ở vị trí cuối cùng)
                    DataTable khachhang = SQL_ThongTin.Display_KhachHang();
                    MaKH = khachhang.Rows[khachhang.Rows.Count - 1][0].ToString();
                    // }
                }
                else
                {
                    /// lấy mã KH cũ để tạo hóa đơn
                    MaKH = txtMaKH.Text;
                }

                /// lưu thông tin hóa đơn
                /// Add
                SQL_BanHang.Add_HoaDon(txtMaNV.Text, MaKH, DateTime.Now.ToString("yyyy-MM-dd"), decimal.Parse(txtTongTien.Text));
                /// lấy ra mã hóa đơn  vừa add (ở vị trí cuối cùng)
                DataTable hoadon = SQL_BanHang.Display_HoaDon();
                MaHD = hoadon.Rows[hoadon.Rows.Count - 1][0].ToString();
                // }
                /// lưu thông tin chi tiết hóa đơn
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    SQL_BanHang.Add_ChiTietHoaDon(MaHD, listView1.Items[i].SubItems[1].Text, int.Parse(listView1.Items[i].SubItems[3].Text), decimal.Parse(listView1.Items[i].SubItems[5].Text));
                }
            }
            MessageBox.Show("Thêm Hóa đơn thành công.");

            /// In Hoa Don
            gridView1.BestFitColumns();
            HoaDonBanHang report = new HoaDonBanHang();

            report.ListViewControl = listView1;
            // set thuộc tính
            string ngaythang = "Ngày " + DateTime.Now.Day.ToString() + " tháng " + DateTime.Now.Month.ToString() + " năm " + DateTime.Now.Year.ToString();

            report.SetProperties(cbbNhanVien.Text, MaHD, MaKH, txtTenKH.Text, txtSDT.Text, txtEmail.Text, txtDiaChi.Text, txtTongTien.Text, ngaythang);

            //thu nhỏ hóa đơn
            report.PaperKind = System.Drawing.Printing.PaperKind.Statement;
            report.Landscape = true;

            ReportPrintTool printTool = new ReportPrintTool(report);

            printTool.ShowPreviewDialog();
        }
 // null nếu hóa đơn truyền vào lỗi
 public RecordThongKeBanHang GetRecord(HoaDonBanHang HoaDon)
 {
     try
     {
         RecordThongKeBanHang record = new RecordThongKeBanHang();
         if (HoaDon == null) // Có lỗi hóa đơn truyền vào
         {
             return(GetNullRecord());
         }
         else // Tính toán
         {
             record.MaHDBH   = HoaDon.MaHDBH.Trim();
             record.NgayGiao = HoaDon.NgayBan;
             {
                 record.MaNV = HoaDon.MaNV.Trim();
                 var nhanvien = _NhanVien.GetObjectFromID(record.MaNV);
                 if (nhanvien == null)
                 {
                     return(GetNullRecord());
                 }
                 record.TenNV = nhanvien.TenNV.Trim();
             }
             {
                 record.MaKH = HoaDon.MaKH.Trim();
                 var khachhang = _KhachHang.GetObjectFromID(record.MaKH);
                 if (khachhang == null)
                 {
                     return(GetNullRecord());
                 }
                 record.TenKH = khachhang.TenKH.Trim();
             }
             record.NgayLap   = (DateTime)HoaDon.NgayLap;
             record.GhiChu    = HoaDon.GhiChu.Trim();
             record.TrangThai = HoaDon.TrangThai.Trim();
             {
                 var listcthd = _CTHoaDonBanHang.GetListFromHDBH(record.MaHDBH);
                 if (listcthd == null)
                 {
                     return(GetNullRecord());
                 }
                 record.SoVatLieu = record.TienVatLieu = record.TienKhuyenMai = record.TienKMKH = record.TongTien = record.LaiSuat = record.Von = 0;
                 foreach (CTHoaDonBanHang var in listcthd)
                 {
                     record.TienVatLieu   += (int)var.TienKMKH;
                     record.TienKhuyenMai += (int)var.TienKM;
                     var vatlieu = _VatLieu.GetObjectFromTenVL(var.TenVL.Trim());
                     if (vatlieu == null)
                     {
                         return(GetNullRecord());
                     }
                     record.Von += (int)(vatlieu.GiaMua) * (int)(var.TongSL);
                 }
                 record.SoVatLieu = listcthd.Count;
                 record.TongTien  = record.TienVatLieu - record.TienKhuyenMai;
                 record.TienKMKH  = Math.Abs(_HoaDonBanHang.GetTienKMKH(record.TongTien, record.MaKH, record.MaHDBH));
                 record.TongTien -= record.TienKMKH;
                 record.LaiSuat   = record.TongTien - record.Von;
             }
         }
         return(record);
     }
     catch (Exception) // Lỗi ngoài ý
     {
         return(GetNullRecord());
     }
 }
        public RecordThongKeBanHang GetRecord(HoaDonBanHang HoaDon)
        {
            try
            {
                RecordThongKeBanHang record = new RecordThongKeBanHang();


                if (HoaDon == null)
                {
                    return(GetNullRecord());
                }
                else
                {
                    record.MaHDBH   = HoaDon.MaHDBH.Trim();
                    record.NgayGiao = HoaDon.NgayLap.Value;
                    {
                        record.MaNV = HoaDon.MaNV.Trim();
                        var nhanvien = _NhanVien.GetObjectFromID(record.MaNV);
                        if (nhanvien == null)
                        {
                            return(GetNullRecord());
                        }
                        record.TenNV = nhanvien.TenNV.Trim();
                    }
                    {
                        record.MaKH = HoaDon.MaKH.Trim();
                        var khachhang = _KhachHang.GetObjectFromID(record.MaKH);
                        if (khachhang == null)
                        {
                            return(GetNullRecord());
                        }
                        record.TenKH = khachhang.TenKH.Trim();
                    }
                    record.NgayLap   = (DateTime)HoaDon.NgayLap;
                    record.TrangThai = HoaDon.TrangThai.Trim();
                    {
                        var listcthd = _CTHoaDonBanHang.GetListFromHDBH(record.MaHDBH);
                        if (listcthd == null)
                        {
                            return(GetNullRecord());
                        }
                        record.SoVatLieu = record.TienVatLieu = record.TienKhuyenMai = record.TienKMKH = record.TongTien = 0;
                        foreach (CTHoaDonBanHang var in listcthd)
                        {
                            var vatlieu = _VatLieu.GetObjectFromID(var.MaVL.Trim());
                            record.TienVatLieu += (int)(var.SoLuong * vatlieu.GiaBan.Value);
                            if (vatlieu == null)
                            {
                                return(GetNullRecord());
                            }
                        }
                        var khachhang = _KhachHang.GetObjectFromID(record.MaKH);
                        record.TienKhuyenMai = (long)(record.TienVatLieu * (new BLL_LoaiKhachHang()).GetObjectFromID(khachhang.MaLoaiKH).PhanTramGiam.Value / 100);
                        record.SoVatLieu     = listcthd.Count;
                        record.TongTien      = record.TienVatLieu - record.TienKhuyenMai;
                    }
                }
                return(record);
            }
            catch (Exception) // Lỗi ngoài ý
            {
                return(GetNullRecord());
            }
        }
示例#23
0
 public void AddHoaDon(HoaDonBanHang ex)
 {
     bus.AddHoaDon(ex);
 }
示例#24
0
        public ActionResult AddNew(HoaDonBanHang hoaDon)
        {
            var ctx     = new SmsContext();
            var stores  = ctx.KHOes.Where(u => u.ACTIVE == "A").ToList();
            var units   = ctx.DON_VI_TINH.Where(u => u.ACTIVE == "A").ToList();
            var Infor   = hoaDon.KH_Info;
            var details = hoaDon.lstChiTietHoaDon;

            hoaDon.Store = stores;
            hoaDon.Units = units;
            string             InvoiceNo    = DateTime.Now.ToString("ddMMyyyyHHmmss") + DateTime.Now.Millisecond.ToString();
            TransactionOptions transOptions = new TransactionOptions();

            transOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
            transOptions.Timeout        = TransactionManager.MaximumTimeout;
            using (var transaction = new System.Transactions.TransactionScope(TransactionScopeOption.Required, transOptions))
            {
                try
                {
                    var invoice = ctx.HOA_DON.Create();
                    invoice.SO_HOA_DON        = InvoiceNo;
                    invoice.NGAY_BAN          = Infor.Ngay_Ban;
                    invoice.NGAY_GIAO         = Infor.Ngay_Giao;
                    invoice.SO_DIEN_THOAI     = Infor.Dien_Thoai;
                    invoice.DIA_CHI_GIAO_HANG = Infor.Dia_Chi;
                    invoice.MA_KHACH_HANG     = Infor.Ma_KH;
                    if (Convert.ToInt32(Infor.Ma_HD) > 0)
                    {
                        invoice.TEN_KHACH_HANG = string.Empty;
                    }
                    else
                    {
                        invoice.TEN_KHACH_HANG = Infor.Ten_KH;
                    }
                    invoice.MA_NHAN_VIEN_BAN = Convert.ToInt32(Session["UserId"]);
                    invoice.STATUS           = 1;
                    invoice.CREATE_AT        = DateTime.Now;
                    invoice.UPDATE_AT        = DateTime.Now;
                    invoice.CREATE_BY        = Convert.ToInt32(Session["UserId"]);
                    invoice.UPDATE_BY        = Convert.ToInt32(Session["UserId"]);
                    invoice.ACTIVE           = "A";
                    ctx.HOA_DON.Add(invoice);
                    ctx.SaveChanges();
                    CHI_TIET_HOA_DON ct;
                    int i = 0;
                    foreach (var detail in details)
                    {
                        if (detail.DEL_FLG != 1 && detail.Ma_SP != null && !string.IsNullOrWhiteSpace(detail.Ma_SP.ToString()))
                        {
                            i++;
                            ct             = ctx.CHI_TIET_HOA_DON.Create();
                            ct.MA_HOA_DON  = invoice.MA_HOA_DON;
                            ct.MA_SAN_PHAM = detail.Ma_SP;
                            // luu tam so luong hang hoa da ban
                            ct.SO_LUONG_TEMP = detail.So_Luong;
                            // luu tam so luong hang hoa da ban
                            ct.SO_LUONG             = detail.So_Luong * detail.HE_SO;
                            ct.DON_GIA_TEMP         = detail.Gia_Ban;
                            ct.PHAN_TRAM_CHIEC_KHAU = detail.Phan_Tram_CK;
                            ct.DON_GIA     = detail.Gia_Ban / detail.HE_SO;
                            ct.ACTIVE      = "A";
                            ct.CREATE_AT   = DateTime.Now;
                            ct.UPDATE_AT   = DateTime.Now;
                            ct.CREATE_BY   = Convert.ToInt32(Session["UserId"]);
                            ct.UPDATE_BY   = Convert.ToInt32(Session["UserId"]);
                            ct.MA_DON_VI   = detail.Ma_Don_Vi;
                            ct.MA_KHO_XUAT = detail.Ma_Kho_Xuat;
                            ctx.CHI_TIET_HOA_DON.Add(ct);
                            ctx.SaveChanges();
                        }
                    }
                    if (i == 0)
                    {
                        Transaction.Current.Rollback();
                        ctx.Dispose();
                        hoaDon.Message = "Vui lòng kiểm tra lại thông tin hàng hóa. Không có mặt hàng nào được lưu. ";
                    }
                    else
                    {
                        transaction.Complete();
                        hoaDon.InforMessage = "Lưu hóa đơn thành công.";
                        ctx.Dispose();
                        if (hoaDon.printFlg == "1")
                        {
                            return(RedirectToAction("PrintBill", "HoaDon", new { @id = invoice.MA_HOA_DON }));
                        }
                        return(RedirectToAction("AddNew", new { @inforMessage = "Lưu hóa đơn thành công" }));
                    }
                }
                catch (Exception ex)
                {
                    Console.Write(ex.ToString());
                    Transaction.Current.Rollback();
                    ctx.Dispose();
                    hoaDon.Message = "Lưu hóa đơn thất bại, vui lòng kiểm tra lại hóa đơn hoặc liên hệ admin. ";
                }
            }

            hoaDon.Store = stores;
            hoaDon.Units = units;
            return(View(hoaDon));
        }