示例#1
0
        protected void Save()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    if (listReceiptProducts.Count > 0)
                    {
                        double TongTien    = 0;
                        int    TongSoLuong = 0;
                        foreach (var prod in listReceiptProducts)
                        {
                            TongTien    += prod.ThanhTien;
                            TongSoLuong += prod.SoLuong;
                        }
                        string MaPhieu = null, strMaPhieu = "PX";
                        string MAX = (DBDataProvider.DB.ghPhieuGiaoHangs.Count() + 1).ToString();
                        for (int i = 1; i < (10 - MAX.Length); i++)
                        {
                            strMaPhieu += "0";
                        }
                        MaPhieu = strMaPhieu + MAX;
                        int             IDkhachHang = Int32.Parse(ccbNhaCungCap.Value.ToString());
                        var             KH          = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDkhachHang).FirstOrDefault();
                        ghPhieuGiaoHang giaohang    = new ghPhieuGiaoHang();
                        giaohang.NgayTao        = DateTime.Now;
                        giaohang.MaPhieu        = MaPhieu;
                        giaohang.NhanVienID     = Formats.IDUser();
                        giaohang.GhiChuGiaoHang = memoGhiChu.Text;
                        giaohang.KhachHangID    = IDkhachHang;
                        giaohang.NgayGiao       = Formats.ConvertToDateTime(dateNgayNhap.Text);
                        giaohang.NguoiGiao      = "";
                        giaohang.DiaChiGiaoHang = KH.DiaChi;
                        giaohang.DaXoa          = 0;
                        giaohang.TTThanhToan    = 0; //0 chưa thanh toán. 1 đã thanh toán
                        giaohang.TrangThai      = 0; // chưa duyệt, 1 đã duyệt
                        giaohang.TongSoLuong    = TongSoLuong;
                        giaohang.DienThoai      = KH.DienThoai;
                        giaohang.ChiNhanhID     = Formats.IDChiNhanh();
                        giaohang.TongTien       = TongTien;
                        giaohang.ThanhToan      = Convert.ToDouble(spKhachHangThoan.Number);
                        giaohang.GiamGia        = Convert.ToDouble(spGiamGia.Number);
                        giaohang.ConLai         = (TongTien - (Convert.ToDouble(spGiamGia.Number) + Convert.ToDouble(spKhachHangThoan.Number)));
                        giaohang.STTDonHang     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);

                        DBDataProvider.DB.ghPhieuGiaoHangs.InsertOnSubmit(giaohang);
                        DBDataProvider.DB.SubmitChanges();

                        int IDPhieuGiaoHang = Convert.ToInt32(giaohang.IDPhieuGiaoHang);
                        hiddenFields["IDPhieuMoi"] = IDPhieuGiaoHang;
                        foreach (var prod in listReceiptProducts)
                        {
                            // insert phiếu giao hàng chi tiết
                            ghPhieuGiaoHangChiTiet chitiet = new ghPhieuGiaoHangChiTiet();
                            chitiet.PhieuGiaoHangID = IDPhieuGiaoHang;
                            chitiet.HangHoaID       = prod.IDHangHoa;
                            chitiet.TonKho          = prod.TonKho;
                            chitiet.SoLuong         = prod.SoLuong;
                            chitiet.GiaBan          = prod.GiaBan;
                            chitiet.GiaVon          = prod.GiaVon;
                            chitiet.ThanhTien       = prod.ThanhTien;
                            DBDataProvider.DB.ghPhieuGiaoHangChiTiets.InsertOnSubmit(chitiet);
                            // trừ tạm tồn kho. không ghi công nợ, khi duyệt thì ghi thẻ kho + cộng công nợ khách hàng
                            var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault();
                            if (TonKhoBanDau != null && TonKhoBanDau.LoaiHHID == 1)
                            {
                                TonKhoBanDau.hhTonKhos.Where(tk => tk.ChiNhanhID == Formats.IDChiNhanh()).FirstOrDefault().SoLuong -= prod.SoLuong;
                                // ghi thẻ kho
                                #region ghi thẻ kho
                                kTheKho thekho = new kTheKho();
                                thekho.NgayNhap    = DateTime.Now;
                                thekho.DienGiai    = "Lập phiếu giao hàng#" + MaPhieu;
                                thekho.Nhap        = 0;
                                thekho.Xuat        = prod.SoLuong;
                                thekho.GiaThoiDiem = prod.GiaBan;
                                thekho.Ton         = prod.TonKho - prod.SoLuong;
                                thekho.HangHoaID   = TonKhoBanDau.IDHangHoa;
                                thekho.ChiNhanhID  = Formats.IDChiNhanh();
                                thekho.NhanVienID  = Formats.IDUser();
                                DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho);
                                #endregion
                            }
                        }
                        DBDataProvider.DB.SubmitChanges();
                        scope.Complete();
                        cbpInfoImport.JSProperties["cp_Reset"] = true;
                    }
                    else
                    {
                        throw new Exception("Danh sách hàng hóa trống !!");
                        ccbBarcode.Text  = "";
                        ccbBarcode.Value = "";
                        ccbBarcode.Focus();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
示例#2
0
        public void LuuThanhToan()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    double?SoTienThu = double.Parse(speSoTienTT.Number.ToString());
                    if (SoTienThu == 0)
                    {
                        throw new Exception("Chưa nhập số tiền thanh toán");
                    }
                    double?SoNoHienTai = double.Parse(txtCongNoHienTai.Text);
                    if (SoTienThu > SoNoHienTai)
                    {
                        throw new Exception("Số tiền thu không được vượt qua số nợ hiện tại");
                    }

                    int      IDKhachHang = Convert.ToInt32(ccbKhachHang.Value.ToString());
                    string   SoHoaDon    = txtHoaDon.Text;
                    string   NoiDung     = memoNoiDungTT.Text;
                    DateTime NgayThu     = Formats.ConvertToDateTime(dateNgayTT.Text);
                    int      HinhThucThu = rdlHinhThuc.SelectedIndex == 0 ? 1 : 2;
                    double   CongNoCu    = double.Parse(txtCongNoHienTai.Text);


                    ghPhieuDaiLyThanhToan thanhtoan = new ghPhieuDaiLyThanhToan();
                    thanhtoan.STTPhieuThu   = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                    thanhtoan.SoHoaDon      = SoHoaDon;
                    thanhtoan.KhachHangID   = IDKhachHang;
                    thanhtoan.SoTienThu     = SoTienThu;
                    thanhtoan.NoiDung       = NoiDung;
                    thanhtoan.NgayThu       = NgayThu;
                    thanhtoan.NgayLap       = DateTime.Now;
                    thanhtoan.NhanVienThuID = Formats.IDUser();
                    thanhtoan.HinhThucTTID  = HinhThucThu;
                    thanhtoan.CongNoCu      = CongNoCu;

                    DBDataProvider.DB.ghPhieuDaiLyThanhToans.InsertOnSubmit(thanhtoan);
                    DBDataProvider.DB.SubmitChanges();
                    int         IDPhieuThu = thanhtoan.IDPhieuThu;
                    khKhachHang KH         = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDKhachHang).FirstOrDefault();
                    KH.LanCuoiMuaHang = DateTime.Now;
                    if (rdlHinhThuc.SelectedIndex == 0)
                    {
                        //Cap nhat thanh toan phieu giao hang
                        List <ghPhieuGiaoHang> ListPhieuGiaoHang = DBDataProvider.ListPhieuGiaoHang_ASC(IDKhachHang);// phiếu đã được duyệt & chưa thanh toán
                        int i = 0;
                        if (SoTienThu > 0 && ListPhieuGiaoHang.Count > 0)
                        {
                            while (SoTienThu > 0 && i < ListPhieuGiaoHang.Count)
                            {
                                double?TienNoDonHang = ListPhieuGiaoHang[i].ConLai;
                                if (SoTienThu >= TienNoDonHang)                                       //Thanh toán hết đơn hàng
                                {
                                    ListPhieuGiaoHang[i].ThanhToan   = ListPhieuGiaoHang[i].TongTien; //cập nhật lại thanh toán = tổng tiền
                                    ListPhieuGiaoHang[i].ConLai      = 0;                             // cập nhật còn lại  = 0;
                                    ListPhieuGiaoHang[i].TTThanhToan = 1;                             // đã thanh toán
                                    if (KH != null)
                                    {
                                        #region ghi nhật ký nhập kho để xem báo cáo
                                        khNhatKyCongNo nhatky = new khNhatKyCongNo();
                                        nhatky.NgayNhap    = DateTime.Now;
                                        nhatky.DienGiai    = "Thanh toán";
                                        nhatky.NoDau       = KH.CongNo;
                                        nhatky.NhapHang    = 0;
                                        nhatky.GiamGia     = 0;
                                        nhatky.TraHang     = 0;
                                        nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                                        nhatky.ThanhToan   = TienNoDonHang;
                                        nhatky.NoCuoi      = KH.CongNo - TienNoDonHang;
                                        nhatky.NhanVienID  = Formats.IDUser();
                                        nhatky.SoPhieu     = ListPhieuGiaoHang[i].MaPhieu;
                                        nhatky.IDKhachHang = IDKhachHang;
                                        DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                                        DBDataProvider.DB.SubmitChanges();
                                        #endregion
                                        KH.CongNo    -= TienNoDonHang; // - công nợ
                                        KH.ThanhToan += TienNoDonHang;
                                    }
                                    SoTienThu -= TienNoDonHang;
                                }
                                else // Thanh toán 1 phần đơn hàng
                                {
                                    ListPhieuGiaoHang[i].ThanhToan += SoTienThu; // cộng phần còn lại vào thanh toán.
                                    ListPhieuGiaoHang[i].ConLai     = ListPhieuGiaoHang[i].TongTien - ListPhieuGiaoHang[i].ThanhToan; // cập nhật phần còn lại
                                    //ListPhieuGiaoHang[i].TTThanhToan = 1;// đã thanh toán

                                    if (KH != null)
                                    {
                                        #region ghi nhật ký nhập kho để xem báo cáo
                                        khNhatKyCongNo nhatky = new khNhatKyCongNo();
                                        nhatky.NgayNhap    = DateTime.Now;
                                        nhatky.DienGiai    = "Thanh toán";
                                        nhatky.NoDau       = KH.CongNo;
                                        nhatky.NhapHang    = 0;
                                        nhatky.TraHang     = 0;
                                        nhatky.ThanhToan   = SoTienThu;
                                        nhatky.GiamGia     = 0;
                                        nhatky.NoCuoi      = KH.CongNo - SoTienThu;
                                        nhatky.NhanVienID  = Formats.IDUser();
                                        nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                                        nhatky.SoPhieu     = ListPhieuGiaoHang[i].MaPhieu;
                                        nhatky.IDKhachHang = IDKhachHang;
                                        DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                                        DBDataProvider.DB.SubmitChanges();
                                        #endregion
                                        KH.CongNo    -= SoTienThu; // - công nợ
                                        KH.ThanhToan += SoTienThu;
                                    }
                                    SoTienThu -= SoTienThu;
                                }
                                i++;
                            }
                        }
                        else
                        {
                            // trừ công nợ thẳng.

                            if (KH != null)
                            {
                                #region ghi nhật ký nhập kho để xem báo cáo
                                khNhatKyCongNo nhatky = new khNhatKyCongNo();
                                nhatky.NgayNhap    = DateTime.Now;
                                nhatky.DienGiai    = "Thanh toán";
                                nhatky.NoDau       = KH.CongNo;
                                nhatky.NhapHang    = 0;
                                nhatky.TraHang     = 0;
                                nhatky.GiamGia     = 0;
                                nhatky.ThanhToan   = SoTienThu;
                                nhatky.NoCuoi      = KH.CongNo - SoTienThu;
                                nhatky.NhanVienID  = Formats.IDUser();
                                nhatky.SoPhieu     = "";
                                nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                                nhatky.IDKhachHang = IDKhachHang;
                                DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                                DBDataProvider.DB.SubmitChanges();
                                #endregion
                                KH.CongNo    -= SoTienThu; // - công nợ
                                KH.ThanhToan += SoTienThu;
                            }
                        }
                    }
                    else
                    {
                        // trừ theo phiếu
                        int             IDPhieuGiaoHang = int.Parse(ccbPhieuThanhToan.Value.ToString());
                        ghPhieuGiaoHang PhieuGH         = DBDataProvider.DB.ghPhieuGiaoHangs.Single(x => x.IDPhieuGiaoHang == IDPhieuGiaoHang);

                        if (KH != null)
                        {
                            #region ghi nhật ký nhập kho để xem báo cáo
                            khNhatKyCongNo nhatky = new khNhatKyCongNo();
                            nhatky.NgayNhap    = DateTime.Now;
                            nhatky.DienGiai    = "Thanh toán";
                            nhatky.NoDau       = KH.CongNo;
                            nhatky.NhapHang    = 0;
                            nhatky.TraHang     = 0;
                            nhatky.GiamGia     = 0;
                            nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                            nhatky.ThanhToan   = PhieuGH.ConLai;
                            nhatky.NoCuoi      = KH.CongNo - PhieuGH.ConLai;
                            nhatky.NhanVienID  = Formats.IDUser();
                            nhatky.SoPhieu     = PhieuGH.MaPhieu;
                            nhatky.IDKhachHang = IDKhachHang;
                            DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                            DBDataProvider.DB.SubmitChanges();
                            #endregion
                            KH.CongNo    -= PhieuGH.ConLai;// - công nợ
                            KH.ThanhToan += PhieuGH.TongTien;
                        }
                        PhieuGH.ThanhToan   = PhieuGH.TongTien;
                        PhieuGH.ConLai      = 0;
                        PhieuGH.TTThanhToan = 1;
                    }

                    DBDataProvider.DB.SubmitChanges();
                    scope.Complete();
                    // Reset();
                    cbpThanhToan.JSProperties["cp_Reset"] = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
        protected void Save()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    if (listReceiptProducts.Count > 0)
                    {
                        double TongTien    = 0;
                        int    TongSoLuong = 0;
                        foreach (var prod in listReceiptProducts)
                        {
                            TongTien    += prod.ThanhTien;
                            TongSoLuong += prod.SoLuong;
                        }
                        string MaPhieu = null, strMaPhieu = "PX";
                        string MAX = (DBDataProvider.DB.ghPhieuGiaoHangs.Count() + 1).ToString();
                        for (int i = 1; i < (7 - MAX.Length); i++)
                        {
                            strMaPhieu += "0";
                        }
                        MaPhieu = strMaPhieu + MAX;

                        int             IDkhachHang = Int32.Parse(ccbNhaCungCap.Value.ToString());
                        var             KH          = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDkhachHang).FirstOrDefault();
                        ghPhieuGiaoHang giaohang    = new ghPhieuGiaoHang();
                        giaohang.NgayTao           = DateTime.Now;
                        giaohang.MaPhieu           = MaPhieu;
                        giaohang.NhanVienID        = Formats.IDUser();
                        giaohang.GhiChuGiaoHang    = memoGhiChu.Text;
                        giaohang.KhachHangID       = IDkhachHang;
                        giaohang.NgayGiao          = Formats.ConvertToDateTime(dateNgayNhap.Text);
                        giaohang.NguoiGiao         = "";
                        giaohang.DiaChiGiaoHang    = KH.DiaChi;
                        giaohang.DaXoa             = 0;
                        giaohang.TTThanhToan       = 0; //0 chưa thanh toán. 1 đã thanh toán
                        giaohang.TrangThai         = 3; // chưa duyệt, 1 đã duyệt, 3 bán hàng
                        giaohang.TongSoLuong       = TongSoLuong;
                        giaohang.DienThoai         = KH.DienThoai;
                        giaohang.TongTien          = TongTien;
                        giaohang.NgayDuyet         = DateTime.Parse(dateNgayNhap.Text);
                        giaohang.GiamGia           = Convert.ToDouble(spGiamGia.Number);
                        giaohang.ThanhToan         = Convert.ToDouble(spKhachHangThoan.Number);                                                   // khách thanh toán
                        giaohang.ConLai            = TongTien - (Convert.ToDouble(spGiamGia.Number) + Convert.ToDouble(spKhachHangThoan.Number)); // (-1)*Convert.ToDouble(spTienTraKhach.Number);
                        giaohang.STTDonHang        = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);
                        giaohang.SoDonHangTrongNam = DBDataProvider.SoDonHangTrongNam_GiaoHang();
                        giaohang.CongNoHienTai     = KH.CongNo;
                        DBDataProvider.DB.ghPhieuGiaoHangs.InsertOnSubmit(giaohang);
                        DBDataProvider.DB.SubmitChanges();
                        int IDPhieuGiaoHang = giaohang.IDPhieuGiaoHang;
                        hiddenFields["IDPhieuMoi"] = IDPhieuGiaoHang;
                        foreach (var prod in listReceiptProducts)
                        {
                            // insert phiếu giao hàng chi tiết
                            ghPhieuGiaoHangChiTiet chitiet = new ghPhieuGiaoHangChiTiet();
                            chitiet.PhieuGiaoHangID = IDPhieuGiaoHang;
                            chitiet.HangHoaID       = prod.IDHangHoa;
                            chitiet.TonKho          = prod.TonKho;
                            chitiet.SoLuong         = prod.SoLuong;
                            chitiet.GiaBan          = prod.GiaBan;
                            chitiet.GiaVon          = prod.GiaVon;
                            chitiet.ThanhTien       = prod.ThanhTien;
                            DBDataProvider.DB.ghPhieuGiaoHangChiTiets.InsertOnSubmit(chitiet);
                            // trừ tạm tồn kho.
                            var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault();
                            if (TonKhoBanDau != null)
                            {
                                TonKhoBanDau.TonKho -= prod.SoLuong;
                                var HH = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault();
                                //ghi thẻ kho
                                #region thẻ kho
                                kTheKho thekho = new kTheKho();
                                thekho.NgayNhap    = DateTime.Now;
                                thekho.DienGiai    = "Bán hàng #" + giaohang.MaPhieu;
                                thekho.Nhap        = 0;
                                thekho.Xuat        = prod.SoLuong;
                                thekho.Ton         = HH.TonKho;
                                thekho.GiaThoiDiem = prod.GiaBan;
                                thekho.HangHoaID   = HH.IDHangHoa;
                                thekho.NhanVienID  = Formats.IDUser();
                                DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho);
                                #endregion
                            }
                        }



                        if (Convert.ToDouble(spTienTraKhach.Number) < 0)
                        {
                            // cập nhật công nợ
                            #region nhật ký công nợ
                            khNhatKyCongNo nhatky = new khNhatKyCongNo();
                            nhatky.NgayNhap    = DateTime.Now;
                            nhatky.DienGiai    = "Bán hàng";
                            nhatky.NoDau       = KH.CongNo;
                            nhatky.NhapHang    = TongTien;
                            nhatky.TraHang     = 0;
                            nhatky.GiamGia     = Convert.ToDouble(spGiamGia.Number);
                            nhatky.NoCuoi      = KH.CongNo += (-1) * Convert.ToDouble(spTienTraKhach.Number);
                            nhatky.ThanhToan   = Convert.ToDouble(spKhachHangThoan.Number);
                            nhatky.MaPhieu     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);
                            nhatky.NhanVienID  = Formats.IDUser();
                            nhatky.SoPhieu     = giaohang.MaPhieu;
                            nhatky.IDKhachHang = IDkhachHang;
                            DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                            DBDataProvider.DB.SubmitChanges();
                            #endregion
                            // KH.CongNo += (-1) * Convert.ToDouble(spTienTraKhach.Number); // cộng công nợ
                        }
                        else
                        {
                            #region nhật ký công nợ
                            khNhatKyCongNo nhatky = new khNhatKyCongNo();
                            nhatky.NgayNhap    = DateTime.Now;
                            nhatky.DienGiai    = "Bán hàng";
                            nhatky.NoDau       = KH.CongNo;
                            nhatky.NhapHang    = TongTien;
                            nhatky.GiamGia     = Convert.ToDouble(spGiamGia.Number);
                            nhatky.TraHang     = 0;
                            nhatky.NoCuoi      = KH.CongNo;
                            nhatky.ThanhToan   = Convert.ToDouble(spKhachHangThoan.Number);
                            nhatky.MaPhieu     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);
                            nhatky.NhanVienID  = Formats.IDUser();
                            nhatky.SoPhieu     = giaohang.MaPhieu;
                            nhatky.IDKhachHang = IDkhachHang;
                            DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                            DBDataProvider.DB.SubmitChanges();
                            #endregion
                        }

                        KH.TongTienHang  += TongTien;
                        KH.LanCuoiMuaHang = DateTime.Now;

                        DBDataProvider.DB.SubmitChanges();
                        scope.Complete();
                        Reset();
                        cbpInfoImport.JSProperties["cp_Reset"] = true;
                    }
                    else
                    {
                        throw new Exception("Danh sách hàng hóa trống !!");
                        ccbBarcode.Text  = "";
                        ccbBarcode.Value = "";
                        ccbBarcode.Focus();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
示例#4
0
        protected void Save()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    double TongTien    = 0;
                    int    TongSoLuong = 0;
                    foreach (var prod in listReceiptProducts)
                    {
                        TongTien    += prod.ThanhTien;
                        TongSoLuong += prod.SoLuong;
                    }
                    string MaPhieu = null, strMaPhieu = "PX";
                    string MAX = (DBDataProvider.DB.ghPhieuGiaoHangs.Count() + 1).ToString();
                    for (int i = 1; i < (7 - MAX.Length); i++)
                    {
                        strMaPhieu += "0";
                    }
                    MaPhieu = strMaPhieu + MAX;
                    int             IDkhachHang = Int32.Parse(ccbNhaCungCap.Value.ToString());
                    var             KH          = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDkhachHang).FirstOrDefault();
                    ghPhieuGiaoHang giaohang    = new ghPhieuGiaoHang();
                    giaohang.NgayTao        = DateTime.Now;
                    giaohang.MaPhieu        = MaPhieu;
                    giaohang.NhanVienID     = Formats.IDUser();
                    giaohang.GhiChuGiaoHang = memoGhiChu.Text;
                    giaohang.KhachHangID    = IDkhachHang;
                    giaohang.NgayGiao       = Formats.ConvertToDateTime(dateNgayNhap.Text);
                    giaohang.NguoiGiao      = "";
                    giaohang.DiaChiGiaoHang = KH.DiaChi;
                    giaohang.DaXoa          = 0;
                    giaohang.TTThanhToan    = 0; //0 chưa thanh toán. 1 đã thanh toán
                    giaohang.TrangThai      = 0; // chưa duyệt, 1 đã duyệt
                    giaohang.TongSoLuong    = TongSoLuong;
                    giaohang.DienThoai      = KH.DienThoai;
                    giaohang.TongTien       = TongTien;
                    giaohang.ThanhToan      = 0;
                    giaohang.ConLai         = TongTien;
                    giaohang.STTDonHang     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);

                    DBDataProvider.DB.ghPhieuGiaoHangs.InsertOnSubmit(giaohang);
                    DBDataProvider.DB.SubmitChanges();

                    int IDPhieuGiaoHang = giaohang.IDPhieuGiaoHang;
                    hiddenFields["IDPhieuMoi"] = IDPhieuGiaoHang;
                    foreach (var prod in listReceiptProducts)
                    {
                        // insert phiếu giao hàng chi tiết
                        ghPhieuGiaoHangChiTiet chitiet = new ghPhieuGiaoHangChiTiet();
                        chitiet.PhieuGiaoHangID = IDPhieuGiaoHang;
                        chitiet.HangHoaID       = prod.IDHangHoa;
                        chitiet.TonKho          = prod.TonKho;
                        chitiet.SoLuong         = prod.SoLuong;
                        chitiet.GiaBan          = prod.GiaBan;
                        chitiet.GiaVon          = prod.GiaVon;
                        chitiet.ThanhTien       = prod.ThanhTien;
                        DBDataProvider.DB.ghPhieuGiaoHangChiTiets.InsertOnSubmit(chitiet);
                        // trừ tạm tồn kho. không ghi công nợ, khi duyệt thì ghi thẻ kho + cộng công nợ khách hàng
                        var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault();
                        if (TonKhoBanDau != null)
                        {
                            TonKhoBanDau.TonKho -= prod.SoLuong;
                        }
                    }
                    DBDataProvider.DB.SubmitChanges();
                    scope.Complete();
                    Reset();
                    cbpInfoImport.JSProperties["cp_Reset"] = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }