private void Save() { var KT = DBDataProvider.DB.khKhachHangs.Where(x => x.MaKhachHang == txtMaKH.Text).Count(); if (KT == 0) { khKhachHang kh = new khKhachHang(); kh.MaKhachHang = txtMaKH.Text; kh.LoaiKhachHangID = Convert.ToInt32(ccbLoaiKH.Value.ToString()); kh.MaSoThue = txtMaSoThue.Text; kh.HoTen = txtTenKH.Text; kh.Email = txtEmail.Text; kh.DiaChi = txtDiaChi.Text; kh.DienThoai = txtDienThoai.Text; kh.GhiChu = txtGhiChu.Text; kh.NgayTao = DateTime.Now; kh.LanCuoiMuaHang = DateTime.Now; kh.TongTienHang = 0; kh.TienTraHang = 0; kh.CongNo = 0; kh.DaXoa = 0; kh.IDBangGia = 1;// bảng giá chung kh.ThanhToan = 0; DBDataProvider.DB.khKhachHangs.InsertOnSubmit(kh); DBDataProvider.DB.SubmitChanges(); } else { } }
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; } double ThanhToan = Convert.ToDouble(spThanhToan.Number); double ConLai = TongTien - ThanhToan; string MaPhieu = null, strMaPhieu = "PN"; //string MAX = (DBDataProvider.DB.kNhapKhos.Where(r => r.TrangThaiPhieu == 0).Count() + 1).ToString(); string MAX = (DBDataProvider.DB.kNhapKhos.Count() + 1).ToString(); for (int i = 1; i < (7 - MAX.Length); i++) { strMaPhieu += "0"; } MaPhieu = strMaPhieu + MAX; int IDNCC = Int32.Parse(ccbNhaCungCap.Value.ToString()); //Insert vào bảng nhập kho kNhapKho nhapKho = new kNhapKho(); nhapKho.NCCID = IDNCC; nhapKho.MaPhieu = MaPhieu; nhapKho.SoHoaDon = txtSoHoaDon.Text;; nhapKho.NgayNhap = Formats.ConvertToDateTime(dateNgayNhap.Text); nhapKho.NguoiNhapID = Formats.IDUser(); nhapKho.TongTien = TongTien; nhapKho.TrangThaiPhieu = 0;// 1 phiếu tạm, 2 phiếu xóa, 0 phiếu nhập nhapKho.TongSoLuong = TongSoLuong; nhapKho.GhiChu = memoGhiChu.Text; nhapKho.NgayTao = DateTime.Now; nhapKho.DaXoa = 0; nhapKho.ThanhToan = ThanhToan; nhapKho.CongNo = ConLai;// nợ đơn hàng if (ConLai == 0) { nhapKho.TTThanhToan = 1; } nhapKho.TTThanhToan = 0; DBDataProvider.DB.kNhapKhos.InsertOnSubmit(nhapKho); DBDataProvider.DB.SubmitChanges(); int IDNhap = nhapKho.IDNhapKho; nhapKho.Url = "TraHang.aspx?id=" + IDNhap; foreach (var prod in listReceiptProducts) { //Insert vào chi tiết nhập kho kNhapKhoChiTiet detailNhapKho = new kNhapKhoChiTiet(); detailNhapKho.NhapKhoID = IDNhap; detailNhapKho.HangHoaID = prod.IDHangHoa; detailNhapKho.GiaVon = prod.GiaVon; detailNhapKho.SoLuong = prod.SoLuong; detailNhapKho.ThanhTien = prod.ThanhTien; detailNhapKho.GiaBan = prod.GiaBanMoi; detailNhapKho.TonKho = prod.TonKho; DBDataProvider.DB.kNhapKhoChiTiets.InsertOnSubmit(detailNhapKho); DBDataProvider.DB.SubmitChanges(); //Cập nhật || Thêm tồn kho var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault(); if (TonKhoBanDau != null) { TonKhoBanDau.TonKho += prod.SoLuong; #region ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Nhập hàng #" + MaPhieu; thekho.Nhap = prod.SoLuong; thekho.Xuat = 0; thekho.GiaThoiDiem = prod.GiaVon; thekho.Ton = prod.SoLuong + prod.TonKho; thekho.HangHoaID = TonKhoBanDau.IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } hhHangHoa hang = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault(); // cập nhật giá nhập trung bình cho hàng hóa var GiaVonTB = DBDataProvider.DB.spAVG_IDHangHoa(Convert.ToInt32(hang.IDHangHoa)).FirstOrDefault(); hang.GiaVon = Convert.ToDouble(GiaVonTB.GiaNhapTrungBinh); // thay đổi giá bán nếu khác giá bán cũ if (prod.GiaBanMoi != prod.GiaBanCu) { hang.GiaBan = prod.GiaBanMoi; } } //update công nợ khKhachHang Supplier = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDNCC).FirstOrDefault(); if (Supplier != null) { #region ghi nhật ký nhập kho để xem báo cáo khNhatKyCongNo nhatky = new khNhatKyCongNo(); nhatky.NgayNhap = DateTime.Now; nhatky.DienGiai = "Nhập kho"; nhatky.NoDau = Supplier.CongNo; nhatky.NhapHang = TongTien; nhatky.TraHang = 0; nhatky.NoCuoi = Supplier.CongNo + ConLai; nhatky.ThanhToan = ThanhToan; nhatky.NhanVienID = Formats.IDUser(); nhatky.GiamGia = 0; nhatky.SoPhieu = MaPhieu; nhatky.IDKhachHang = IDNCC; DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky); DBDataProvider.DB.SubmitChanges(); #endregion nhapKho.CongNoCu = Supplier.CongNo; nhapKho.CongNoMoi = Supplier.CongNo + ConLai; Supplier.TongTienHang += TongTien; Supplier.CongNo += ConLai; Supplier.LanCuoiMuaHang = DateTime.Now; } DBDataProvider.DB.SubmitChanges(); scope.Complete(); cbpInfoImport.JSProperties["cp_Reset"] = true; } else { throw new Exception("Danh sách nhập kho trống !!"); ccbBarcode.Text = ""; ccbBarcode.Value = ""; ccbBarcode.Focus(); } } catch (Exception ex) { throw ex; } } }
private 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.kPhieuTraHangNCCs.Count() + 1).ToString(); for (int i = 1; i < (7 - MAX.Length); i++) { strMaPhieu += "0"; } MaPhieu = strMaPhieu + MAX; int IDNCC = Int32.Parse(ccbNhaCungCap.Value.ToString()); int IDSoPhieu = 0; if (ccbSoPhieu.Text != "") { IDSoPhieu = Int32.Parse(ccbSoPhieu.Value.ToString()); } // insert kPhieuTraHangNCC kPhieuTraHangNCC phieutra = new kPhieuTraHangNCC(); phieutra.MaPhieu = MaPhieu; phieutra.NhaCungCapID = IDNCC; phieutra.SoPhieuTra = IDSoPhieu; phieutra.NgayTra = Convert.ToDateTime(dateNgayTra.Date); phieutra.NgayNhap = DateTime.Now; phieutra.NhanVienID = Formats.IDUser(); phieutra.GhiChu = memoGhiChu.Text; phieutra.TongSoLuong = TongSoLuong; phieutra.TongTienHang = TongTien; phieutra.ThanhToan = ckGiamCongNo.Checked == true ? 0 : TongTien; phieutra.STTDonHang = DBDataProvider.STTPhieuTraHang_NCC(IDNCC); phieutra.ConLai = ckGiamCongNo.Checked == true ? TongTien : 0; phieutra.HinhThucTT = ckGiamCongNo.Checked == true ? 1 : 0; DBDataProvider.DB.kPhieuTraHangNCCs.InsertOnSubmit(phieutra); DBDataProvider.DB.SubmitChanges(); int IDPhieuTraHang = phieutra.IDPhieuTraHang; foreach (var prod in listReceiptProducts) { // insert Chi tiet kPhieuTraHangNCCChiTiet chitiet = new kPhieuTraHangNCCChiTiet(); chitiet.PhieuTraHangNCCID = IDPhieuTraHang; chitiet.HangHoaID = prod.IDHangHoa; chitiet.GiaVon = prod.GiaVon; chitiet.SoLuong = prod.SoLuong; chitiet.ThanhTien = prod.ThanhTien; chitiet.TonKho = prod.TonKho; chitiet.TienTra = prod.TienTra; DBDataProvider.DB.kPhieuTraHangNCCChiTiets.InsertOnSubmit(chitiet); //Cập nhật || trừ tồn kho var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault(); if (TonKhoBanDau != null) { TonKhoBanDau.TonKho -= prod.SoLuong; #region ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Trả hàng NCC #" + MaPhieu; thekho.Nhap = 0; thekho.GiaThoiDiem = prod.TienTra; thekho.Xuat = prod.SoLuong; thekho.Ton = prod.TonKho - prod.SoLuong; thekho.HangHoaID = TonKhoBanDau.IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } } //update công nợ khKhachHang Supplier = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDNCC).FirstOrDefault(); if (Supplier != null) { #region ghi nhật ký nhập kho để xem báo cáo khNhatKyCongNo nhatky = new khNhatKyCongNo(); nhatky.NgayNhap = DateTime.Now; nhatky.DienGiai = "Trả hàng NCC "; nhatky.NoDau = Supplier.CongNo; nhatky.NhapHang = 0; nhatky.TraHang = TongTien; nhatky.NoCuoi = Supplier.CongNo - (ckGiamCongNo.Checked == true ? TongTien : 0); nhatky.ThanhToan = 0; nhatky.NhanVienID = Formats.IDUser(); nhatky.SoPhieu = MaPhieu; nhatky.IDKhachHang = IDNCC; DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky); DBDataProvider.DB.SubmitChanges(); Supplier.CongNo -= ckGiamCongNo.Checked == true ? TongTien : 0; Supplier.LanCuoiMuaHang = DateTime.Now; Supplier.TienTraHang += TongTien; #endregion phieutra.CongNoCu = Supplier.CongNo; } 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; } } }
protected void gridNhaphang_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e) { int IDNhapKho = Convert.ToInt32(e.Keys[0].ToString()); using (var scope = new TransactionScope()) { try { var NhapKho = DBDataProvider.DB.kNhapKhos.Where(x => x.IDNhapKho == IDNhapKho).FirstOrDefault(); if (NhapKho != null) { if (NhapKho.TrangThaiPhieu == 0) { NhapKho.TrangThaiPhieu = 2; khKhachHang kh = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == NhapKho.NCCID).FirstOrDefault(); if (NhapKho.CongNo > 0) // cập nhật công nợ + ghi nhật ký { #region ghi nhật ký nhập kho để xem báo cáo khNhatKyCongNo nhatky = new khNhatKyCongNo(); nhatky.NgayNhap = DateTime.Now; nhatky.DienGiai = "Xóa phiếu nhập kho"; nhatky.NoDau = kh.CongNo; nhatky.NhapHang = 0; nhatky.TraHang = NhapKho.CongNo; nhatky.NoCuoi = kh.CongNo - NhapKho.CongNo; nhatky.ThanhToan = 0; nhatky.NhanVienID = Formats.IDUser(); nhatky.SoPhieu = NhapKho.MaPhieu; nhatky.IDKhachHang = NhapKho.NCCID; DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky); DBDataProvider.DB.SubmitChanges(); #endregion kh.TongTienHang -= NhapKho.TongTien; kh.CongNo -= NhapKho.CongNo; kh.LanCuoiMuaHang = DateTime.Now; } else { kh.TongTienHang -= NhapKho.TongTien; kh.CongNo -= NhapKho.CongNo; kh.LanCuoiMuaHang = DateTime.Now; } List <kNhapKhoChiTiet> nhapkho = DBDataProvider.NhapKhoChiTiet(IDNhapKho); foreach (var nk in nhapkho) { int IDHangHoa = Convert.ToInt32(nk.HangHoaID); int SoLuong = Convert.ToInt32(nk.SoLuong); var HangHoa = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == IDHangHoa).FirstOrDefault(); if (HangHoa != null) { //// trừ tồn kho, //HangHoa.TonKho -= SoLuong; //ghi thẻ kho #region ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Xóa phiếu nhập hàng #" + NhapKho.MaPhieu; thekho.Nhap = 0; thekho.Xuat = SoLuong; thekho.Ton = HangHoa.TonKho -= SoLuong; // trừ tồn kho luôn thekho.HangHoaID = IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } } DBDataProvider.DB.SubmitChanges(); scope.Complete(); } } } catch (Exception ex) { throw ex; } } gridNhaphang.CancelEdit(); e.Cancel = true; gridNhaphang.DataBind(); }
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; } } }
private 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 = "PN"; string MAX = (DBDataProvider.DB.kPhieuTraHangs.Count() + 1).ToString(); for (int i = 1; i < (7 - MAX.Length); i++) { strMaPhieu += "0"; } MaPhieu = strMaPhieu + MAX; int IDDaiLy = Int32.Parse(ccbNhaCungCap.Value.ToString()); int IDSoPhieu = 0; if (ccbSoPhieu.Text != "") { IDSoPhieu = Int32.Parse(ccbSoPhieu.Value.ToString()); } // insert kPhieuTraHang kPhieuTraHang phieutra = new kPhieuTraHang(); phieutra.MaPhieu = MaPhieu; phieutra.DaiLyID = IDDaiLy; phieutra.SoPhieuTra = IDSoPhieu; phieutra.NgayTra = Convert.ToDateTime(dateNgayTra.Date); phieutra.NgayNhap = DateTime.Now; phieutra.NhanVienID = Formats.IDUser(); phieutra.GhiChu = memoGhiChu.Text; phieutra.TongSoLuong = TongSoLuong; phieutra.TongTienHang = TongTien; phieutra.ThanhToan = ckGiamCongNo.Checked == true ? 0 : TongTien; phieutra.DuyetDonHang = 0; // 0 chưa duyệt , 1 đã duyệt phieutra.ConLai = ckGiamCongNo.Checked == true ? TongTien : 0; phieutra.HinhThucTT = ckGiamCongNo.Checked == true ? 1 : 0; DBDataProvider.DB.kPhieuTraHangs.InsertOnSubmit(phieutra); DBDataProvider.DB.SubmitChanges(); int IDPhieuTraHang = phieutra.IDPhieuTraHang; foreach (var prod in listReceiptProducts) { // insert Chi tiet kPhieuTraHangChiTiet chitiet = new kPhieuTraHangChiTiet(); chitiet.PhieuTraHangNCCID = IDPhieuTraHang; chitiet.HangHoaID = prod.IDHangHoa; chitiet.GiaVon = prod.GiaVon; chitiet.SoLuong = prod.SoLuong; chitiet.ThanhTien = prod.ThanhTien; chitiet.TonKho = prod.TonKho; chitiet.TienTra = prod.TienTra; DBDataProvider.DB.kPhieuTraHangChiTiets.InsertOnSubmit(chitiet); ////Cập nhật || trừ tồn kho //var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault(); //if (TonKhoBanDau != null) //{ // TonKhoBanDau.TonKho += prod.SoLuong; // #region ghi thẻ kho // kTheKho thekho = new kTheKho(); // thekho.NgayNhap = DateTime.Now; // thekho.DienGiai = "Đại lý trả hàng #" + MaPhieu; // thekho.Nhap = prod.SoLuong; // thekho.Xuat = 0; // thekho.Ton = prod.TonKho + prod.SoLuong; // thekho.HangHoaID = TonKhoBanDau.IDHangHoa; // thekho.NhanVienID = Formats.IDUser(); // DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); // #endregion //} } //update công nợ khKhachHang Supplier = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDDaiLy).FirstOrDefault(); if (Supplier != null) { // #region ghi nhật ký nhập kho để xem báo cáo // if (ckGiamCongNo.Checked == true)// giảm công nợ // { // khNhatKyCongNo nhatky = new khNhatKyCongNo(); // nhatky.NgayNhap = DateTime.Now; // nhatky.DienGiai = "Đại lý trả hàng "; // nhatky.NoDau = Supplier.CongNo; // nhatky.NhapHang = 0; // nhatky.TraHang = ConLai; // nhatky.NoCuoi = Supplier.CongNo - ConLai; // nhatky.ThanhToan = 0; // nhatky.NhanVienID = Formats.IDUser(); // nhatky.SoPhieu = MaPhieu; // nhatky.IDKhachHang = IDDaiLy; // DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky); // DBDataProvider.DB.SubmitChanges(); // Supplier.CongNo -= ConLai; // Supplier.LanCuoiMuaHang = DateTime.Now; // } // #endregion // Supplier.TienTraHang += TongTien; phieutra.CongNoCu = Supplier.CongNo; } DBDataProvider.DB.SubmitChanges(); scope.Complete(); Reset(); cbpInfoImport.JSProperties["cp_Reset"] = true; } catch (Exception ex) { throw ex; } } }
private 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 = "PN"; string MAX = (DBDataProvider.DB.kPhieuTraHangs.Count() + 1).ToString(); for (int i = 1; i < (7 - MAX.Length); i++) { strMaPhieu += "0"; } MaPhieu = strMaPhieu + MAX; int IDDaiLy = Int32.Parse(ccbNhaCungCap.Value.ToString()); int IDSoPhieu = 0; if (ccbSoPhieu.Text != "") { IDSoPhieu = Int32.Parse(ccbSoPhieu.Value.ToString()); } // insert kPhieuTraHang kPhieuTraHang phieutra = new kPhieuTraHang(); phieutra.MaPhieu = MaPhieu; phieutra.DaiLyID = IDDaiLy; phieutra.SoPhieuTra = IDSoPhieu; phieutra.NgayTra = Convert.ToDateTime(dateNgayTra.Date); phieutra.NgayNhap = DateTime.Now; phieutra.NhanVienID = Formats.IDUser(); phieutra.GhiChu = memoGhiChu.Text; phieutra.TongSoLuong = TongSoLuong; phieutra.TongTienHang = TongTien; phieutra.ThanhToan = ckGiamCongNo.Checked == true ? 0 : TongTien; phieutra.DuyetDonHang = 0; // 0 chưa duyệt , 1 đã duyệt phieutra.ConLai = ckGiamCongNo.Checked == true ? TongTien : 0; phieutra.HinhThucTT = ckGiamCongNo.Checked == true ? 1 : 0; DBDataProvider.DB.kPhieuTraHangs.InsertOnSubmit(phieutra); DBDataProvider.DB.SubmitChanges(); int IDPhieuTraHang = phieutra.IDPhieuTraHang; foreach (var prod in listReceiptProducts) { // insert Chi tiet kPhieuTraHangChiTiet chitiet = new kPhieuTraHangChiTiet(); chitiet.PhieuTraHangNCCID = IDPhieuTraHang; chitiet.HangHoaID = prod.IDHangHoa; chitiet.GiaVon = prod.GiaVon; chitiet.SoLuong = prod.SoLuong; chitiet.ThanhTien = prod.ThanhTien; chitiet.TonKho = prod.TonKho; chitiet.TienTra = prod.TienTra; DBDataProvider.DB.kPhieuTraHangChiTiets.InsertOnSubmit(chitiet); } //update công nợ khKhachHang Supplier = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDDaiLy).FirstOrDefault(); if (Supplier != null) { phieutra.CongNoCu = Supplier.CongNo; } 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; } } }