protected void gridXuathang_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e) { int IDPhieuXuat = Convert.ToInt32(e.Keys[0].ToString()); using (var scope = new TransactionScope()) { try { var XuatKho = DBDataProvider.DB.kPhieuXuatKhacs.Where(x => x.IDPhieuXuat == IDPhieuXuat).FirstOrDefault(); if (XuatKho != null) { if (XuatKho.DaXoa == 0) { XuatKho.DaXoa = 1; // đã xóa List <kPhieuXuatKhacChiTiet> ctXuatKho = DBDataProvider.XuatKhacKhoChiTiet(IDPhieuXuat); foreach (var xk in ctXuatKho) { int IDHangHoa = Convert.ToInt32(xk.HangHoaID); int SoLuong = Convert.ToInt32(xk.SoLuong); var HangHoa = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == IDHangHoa).FirstOrDefault(); if (HangHoa != null) { #region ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Xóa phiếu xuất khác #" + XuatKho.MaPhieuXuat; thekho.Nhap = SoLuong; thekho.Xuat = 0; thekho.Ton = HangHoa.hhTonKhos.Where(tk => tk.ChiNhanhID == XuatKho.ChiNhanhID).FirstOrDefault().SoLuong += SoLuong; // cộng tồn kho luôn thekho.HangHoaID = IDHangHoa; thekho.GiaThoiDiem = 0; thekho.NhanVienID = Formats.IDUser(); thekho.ChiNhanhID = Formats.IDChiNhanh(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } } DBDataProvider.DB.SubmitChanges(); scope.Complete(); } } } catch (Exception ex) { throw ex; } } gridXuathang.CancelEdit(); e.Cancel = true; gridXuathang.DataBind(); }
protected void gridDonHang_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) { using (var scope = new TransactionScope()) { try { if (e.NewValues["TrangThai"] == "0") { return; } int IDPhieuGiaoHang = int.Parse(e.Keys["IDPhieuGiaoHang"].ToString()); int IDKhachHang = int.Parse(gridDonHang.GetRowValuesByKeyValue(e.Keys["IDPhieuGiaoHang"], "KhachHangID").ToString()); int pheduyet = Int32.Parse(e.NewValues["TrangThai"].ToString()); var KH = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDKhachHang).FirstOrDefault(); var PhieuGH = DBDataProvider.DB.ghPhieuGiaoHangs.Where(x => x.IDPhieuGiaoHang == IDPhieuGiaoHang).FirstOrDefault(); var PhieuGiaoHangCT = DBDataProvider.DB.ghPhieuGiaoHangChiTiets.Where(x => x.PhieuGiaoHangID == IDPhieuGiaoHang).ToList(); if (pheduyet == 1) { // duyệt đơn hàng if (KH != null && PhieuGH != null) { PhieuGH.CongNoHienTai = KH.CongNo; #region nhật ký công nợ khNhatKyCongNo nhatky = new khNhatKyCongNo(); nhatky.NgayNhap = DateTime.Now; nhatky.DienGiai = "Duyệt giao hàng đại lý"; nhatky.NoDau = KH.CongNo; nhatky.NhapHang = PhieuGH.ConLai; nhatky.TraHang = 0; nhatky.NoCuoi = KH.CongNo + PhieuGH.ConLai; nhatky.ThanhToan = 0; nhatky.NhanVienID = Formats.IDUser(); nhatky.SoPhieu = PhieuGH.MaPhieu; nhatky.IDKhachHang = IDKhachHang; DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky); DBDataProvider.DB.SubmitChanges(); #endregion foreach (var prod in PhieuGiaoHangCT) { var HH = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.HangHoaID).FirstOrDefault(); //ghi thẻ kho #region thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Duyệt giao hàng #" + PhieuGH.MaPhieu; thekho.Nhap = 0; thekho.Xuat = prod.SoLuong; thekho.Ton = HH.TonKho - prod.SoLuong; thekho.HangHoaID = HH.IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } KH.CongNo += PhieuGH.ConLai; // cộng công nợ KH.TongTienHang += PhieuGH.ConLai; KH.LanCuoiMuaHang = DateTime.Now; PhieuGH.TrangThai = 1;// duyệt thành công PhieuGH.SoDonHangTrongNam = DBDataProvider.SoDonHangTrongNam_GiaoHang(); PhieuGH.STTDonHang = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDKhachHang); } } else { // hủy đơn hàng if (KH != null && PhieuGH != null) { // cộng tồn kho foreach (var prod in PhieuGiaoHangCT) { var HH = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.HangHoaID).FirstOrDefault(); HH.TonKho += prod.SoLuong; } PhieuGH.TrangThai = 2;// hủy đơn hàng PhieuGH.STTDonHang = 0; PhieuGH.SoDonHangTrongNam = 0; PhieuGH.CongNoHienTai = KH.CongNo; } } PhieuGH.NgayDuyet = DateTime.Now; DBDataProvider.DB.SubmitChanges(); scope.Complete(); gridDonHang.CancelEdit(); e.Cancel = true; //cbpInfoImport.JSProperties["cp_Reset"] = true; } catch (Exception ex) { throw ex; } } }
private void Import_Temp(DataTable datatable) { int intRow = datatable.Rows.Count; if (datatable.Columns.Contains("Mã hàng hóa") && datatable.Columns.Contains("Tên hàng hóa") && datatable.Columns.Contains("Nhóm hàng") && datatable.Columns.Contains("Đơn vị tính") && datatable.Columns.Contains("Loại hàng hóa") && datatable.Columns.Contains("Giá vốn") && datatable.Columns.Contains("Giá bán") && datatable.Columns.Contains("Tồn kho hiện tại") && datatable.Columns.Contains("Barcode")) { if (intRow != 0) { for (int i = 0; i <= intRow - 1; i++) { DataRow dr = datatable.Rows[i]; string TenHangHoa = dr["Tên hàng hóa"].ToString().Trim(); string DonViTinh = dr["Đơn vị tính"].ToString().Trim(); string NhomHang = dr["Nhóm hàng"].ToString().Trim(); if (TenHangHoa != "" && DonViTinh != "" && NhomHang != "") { string MaHang = null; if (dr["Mã hàng hóa"].ToString() == "") { string strMaHang = "SP"; string MAX = (DBDataProvider.DB.hhHangHoas.Count() + 1).ToString(); for (int j = 1; j < (6 - MAX.Length); j++) { strMaHang += "0"; } MaHang = strMaHang + MAX; } else { MaHang = dr["Mã hàng hóa"].ToString(); } double GiaVon = Convert.ToDouble(dr["Giá vốn"].ToString() == "" ? "0" : dr["Giá vốn"].ToString().Trim()); double GiaBan = Convert.ToDouble(dr["Giá bán"].ToString() == "" ? "0" : dr["Giá bán"].ToString().Trim()); int TonKho = Convert.ToInt32(dr["Tồn kho hiện tại"].ToString() == "" ? "0" : dr["Tồn kho hiện tại"].ToString().Trim()); string LoaiHangHoa = dr["Loại hàng hóa"].ToString() == "" ? "Hàng hóa cơ bản" : dr["Loại hàng hóa"].ToString(); string Barcode = dr["Barcode"].ToString() == "" ? MaHang : dr["Barcode"].ToString(); int tblHangHoa_Count = DBDataProvider.DB.hhHangHoas.Where(x => x.MaHang == MaHang && x.DaXoa == 0).Count(); int KT_Barcode = DBDataProvider.DB.hhBarcodes.Where(x => x.Barcode == Barcode && x.DaXoa == false).Count(); if (tblHangHoa_Count == 0 && KT_Barcode == 0) { //thêm mới hàng hóa hhHangHoa hanghoa = new hhHangHoa(); hanghoa.TenHangHoa = TenHangHoa; hanghoa.MaHang = MaHang; hanghoa.TrongLuong = 0; hanghoa.NgayNhap = DateTime.Now; hanghoa.LoaiHHID = KT_LoaiHangHoa(LoaiHangHoa); hanghoa.NhomHHID = KT_NhomHang(NhomHang); hanghoa.DonViTinhID = KT_DonViTinh(DonViTinh); hanghoa.GiaBan = GiaBan; hanghoa.GiaVon = GiaVon; hanghoa.TonKho = TonKho; hanghoa.DaXoa = 0; DBDataProvider.DB.hhHangHoas.InsertOnSubmit(hanghoa); DBDataProvider.DB.SubmitChanges(); int IDHangHoa = hanghoa.IDHangHoa; if (TonKho > 0) { // ghi thẻ kho #region Trường hợp số lượng > 0 thì tiến hành ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Khai báo hàng hóa"; thekho.Nhap = TonKho; thekho.Xuat = 0; thekho.Ton = TonKho; thekho.GiaThoiDiem = GiaVon; thekho.NhanVienID = Formats.IDUser(); thekho.HangHoaID = IDHangHoa; DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } // insert barcode hhBarcode bc = new hhBarcode(); bc.IDHangHoa = IDHangHoa; bc.Barcode = Barcode; bc.DaXoa = false; DBDataProvider.DB.hhBarcodes.InsertOnSubmit(bc); DBDataProvider.DB.SubmitChanges(); } } } } } else { throw new Exception("File excel không đúng. Vui lòng kiểm tra lại!!"); } }
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 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; } } }
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; } } }
protected void Save() { using (var scope = new TransactionScope()) { try { if (listReceiptProducts.Count > 0) { int ChenhLech = 0; foreach (var prod in listReceiptProducts) { ChenhLech += prod.ChenhLech; } string MaPhieu = null, strMaPhieu = "KK"; string MAX = (DBDataProvider.DB.kKiemKes.Count() + 1).ToString(); for (int i = 1; i < (7 - MAX.Length); i++) { strMaPhieu += "0"; } MaPhieu = strMaPhieu + MAX; //Insert vào bảng kiểm kê kKiemKe kk = new kKiemKe(); kk.MaPhieu = MaPhieu; kk.IDNhanVien = Formats.IDUser(); kk.NgayLap = Formats.ConvertToDateTime(dateNgayNhap.Text); kk.GhiChu = memoGhiChu.Text; kk.DaXoa = 0; kk.NgayTao = DateTime.Now; kk.ChenhLech = ChenhLech; kk.ChiNhanhID = Formats.IDChiNhanh(); //kk.TrangThai = 0; DBDataProvider.DB.kKiemKes.InsertOnSubmit(kk); DBDataProvider.DB.SubmitChanges(); int IDPhieuKiemKe = kk.IDPhieuKiemKe; foreach (var prod in listReceiptProducts) { //Insert vào chi tiết kiểm kê kKiemKeChiTiet chitiet = new kKiemKeChiTiet(); chitiet.PhieuKiemKeID = IDPhieuKiemKe; chitiet.HangHoaID = prod.IDHangHoa; chitiet.TonKhoHeThong = prod.TonKhoHeThong; chitiet.TonKhoThucTe = prod.TonKhoThucTe; chitiet.ChenhLech = prod.ChenhLech; chitiet.DienGiai = prod.DienGiai; DBDataProvider.DB.kKiemKeChiTiets.InsertOnSubmit(chitiet); //Ghi thẻ kho || Cập nhật tồn kho = thực tế var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault(); if (TonKhoBanDau != null) { TonKhoBanDau.hhTonKhos.Where(s => s.ChiNhanhID == Formats.IDChiNhanh()).FirstOrDefault().SoLuong = prod.TonKhoThucTe; #region ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Kiểm kho #" + MaPhieu; if (prod.ChenhLech > 0) { thekho.Nhap = prod.ChenhLech; thekho.Xuat = 0; } else { thekho.Nhap = 0; thekho.Xuat = (-1) * prod.ChenhLech; } thekho.Ton = prod.TonKhoThucTe; thekho.GiaThoiDiem = 0; thekho.ChiNhanhID = Formats.IDChiNhanh(); thekho.HangHoaID = TonKhoBanDau.IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } } DBDataProvider.DB.SubmitChanges(); scope.Complete(); Reset(); cbpInfo.JSProperties["cp_Reset"] = true; } else { throw new Exception("Danh sách kiểm kê trống !!"); ccbBarcode.Text = ""; ccbBarcode.Value = ""; ccbBarcode.Focus(); } } 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.kPhieuXuatKhacs.Count() + 1).ToString(); for (int i = 1; i < (7 - MAX.Length); i++) { strMaPhieu += "0"; } MaPhieu = strMaPhieu + MAX; //Insert vào bảng phiếu xuất khác kPhieuXuatKhac xuatkho = new kPhieuXuatKhac(); xuatkho.IDNhanVien = Formats.IDUser(); xuatkho.MaPhieuXuat = MaPhieu; xuatkho.NgayLap = Formats.ConvertToDateTime(dateNgayNhap.Text); xuatkho.GhiChu = memoGhiChu.Text; xuatkho.DaXoa = 0; xuatkho.NgayTao = DateTime.Now; xuatkho.TongTien = TongTien; xuatkho.SoLuong = TongSoLuong; DBDataProvider.DB.kPhieuXuatKhacs.InsertOnSubmit(xuatkho); DBDataProvider.DB.SubmitChanges(); int IDXuat = xuatkho.IDPhieuXuat; foreach (var prod in listReceiptProducts) { //Insert vào chi tiết xuất kho kPhieuXuatKhacChiTiet detailXuatKho = new kPhieuXuatKhacChiTiet(); detailXuatKho.PhieuXuatID = IDXuat; detailXuatKho.HangHoaID = prod.IDHangHoa; detailXuatKho.TonKho = prod.TonKho; detailXuatKho.SoLuong = prod.SoLuong; detailXuatKho.LyDoXuatID = prod.LyDoXuatID; detailXuatKho.GiaVon = prod.GiaVon; detailXuatKho.ThanhTien = prod.ThanhTien; DBDataProvider.DB.kPhieuXuatKhacChiTiets.InsertOnSubmit(detailXuatKho); //Ghi thẻ kho || 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 = "Xuất khác #" + MaPhieu; thekho.Nhap = 0; thekho.Xuat = prod.SoLuong; thekho.Ton = prod.TonKho - prod.SoLuong; thekho.GiaThoiDiem = 0; thekho.HangHoaID = TonKhoBanDau.IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } } DBDataProvider.DB.SubmitChanges(); scope.Complete(); Reset(); cbpInfo.JSProperties["cp_Reset"] = true; } else { throw new Exception("Danh sách xuất kho 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(); }
protected void Save() { using (var scope = new TransactionScope()) { try { if (listReceiptProducts.Count > 0) { double TongTien = 0; int TongSoLuong = 0; foreach (var prod in listReceiptProducts) { TongSoLuong += prod.SoLuong; } string MaPhieu = null, strMaPhieu = "CK"; string MAX = (DBDataProvider.DB.kChuyenKhos.Count() + 1).ToString(); for (int i = 1; i < (7 - MAX.Length); i++) { strMaPhieu += "0"; } MaPhieu = strMaPhieu + MAX; //Insert vào bảng chuyển kho kChuyenKho chuyenkho = new kChuyenKho(); chuyenkho.ChiNhanhChuyenID = Convert.ToInt32(ccbChiNhanhChuyen.Value); chuyenkho.ChiNhanhNhanID = Convert.ToInt32(ccbChiNhanhNhan.Value); chuyenkho.MaPhieu = MaPhieu; chuyenkho.NgayChuyen = dateNgayNhap.Date; chuyenkho.NguoiNhapID = Formats.IDUser(); chuyenkho.TongSoLuong = TongSoLuong; chuyenkho.GhiChu = memoGhiChu.Text; chuyenkho.NgayTao = DateTime.Now; chuyenkho.DaXoa = 0; DBDataProvider.DB.kChuyenKhos.InsertOnSubmit(chuyenkho); DBDataProvider.DB.SubmitChanges(); int IDChuyenKho = Convert.ToInt32(chuyenkho.IDPhieuChuyen); foreach (var prod in listReceiptProducts) { kChuyenKhoChiTiet chitiet = new kChuyenKhoChiTiet(); chitiet.ChuyenKhoID = IDChuyenKho; chitiet.HangHoaID = prod.IDHangHoa; chitiet.SoLuong = prod.SoLuong; chitiet.TonKhoChuyen = prod.TonChuyen; chitiet.TonKhoNhan = prod.TonNhan; DBDataProvider.DB.kChuyenKhoChiTiets.InsertOnSubmit(chitiet); DBDataProvider.DB.SubmitChanges(); var HH = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault(); if (HH != null) { // trừ kho chuyển #region ghi thẻ kho trừ kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Chuyển kho #" + MaPhieu; thekho.Nhap = 0; thekho.Xuat = prod.SoLuong; thekho.GiaThoiDiem = 0; thekho.ChiNhanhID = Convert.ToInt32(ccbChiNhanhChuyen.Value); thekho.Ton = HH.hhTonKhos.Where(s => s.ChiNhanhID == Convert.ToInt32(ccbChiNhanhChuyen.Value)).FirstOrDefault().SoLuong -= prod.SoLuong; thekho.HangHoaID = prod.IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion // cộng kho nhận #region ghi thẻ kho kTheKho thekho1 = new kTheKho(); thekho1.NgayNhap = DateTime.Now; thekho1.DienGiai = "Chuyển kho #" + MaPhieu; thekho1.Nhap = prod.SoLuong; thekho1.Xuat = 0; thekho1.GiaThoiDiem = 0; thekho1.ChiNhanhID = Convert.ToInt32(ccbChiNhanhNhan.Value); thekho1.Ton = HH.hhTonKhos.Where(s => s.ChiNhanhID == Convert.ToInt32(ccbChiNhanhNhan.Value)).FirstOrDefault().SoLuong += prod.SoLuong; thekho1.HangHoaID = prod.IDHangHoa; thekho1.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho1); #endregion } } DBDataProvider.DB.SubmitChanges(); scope.Complete(); cbpInfoImport.JSProperties["cp_Reset"] = true; } else { throw new Exception("Danh sách chuyển kho trống !!"); ccbBarcode.Text = ""; ccbBarcode.Value = ""; ccbBarcode.Focus(); } } catch (Exception ex) { throw ex; } } }
protected void gridTraHang_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) { using (var scope = new TransactionScope()) { try { if (e.NewValues["DuyetDonHang"] == "0") { return; } int IDPhieuTraHang = int.Parse(e.Keys["IDPhieuTraHang"].ToString()); int DaiLyID = int.Parse(gridTraHang.GetRowValuesByKeyValue(e.Keys["IDPhieuTraHang"], "DaiLyID").ToString()); int pheduyet = Int32.Parse(e.NewValues["DuyetDonHang"].ToString()); var KH = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == DaiLyID).FirstOrDefault(); var PhieuTraHang = DBDataProvider.DB.kPhieuTraHangs.Where(x => x.IDPhieuTraHang == IDPhieuTraHang).FirstOrDefault(); if (pheduyet == 1) { // hoàn tất if (KH != null && PhieuTraHang != null) { #region nhật ký công nợ khNhatKyCongNo nhatky = new khNhatKyCongNo(); nhatky.NgayNhap = DateTime.Now; nhatky.DienGiai = "Khách trả hàng "; nhatky.NoDau = KH.CongNo; nhatky.NhapHang = 0; nhatky.TraHang = PhieuTraHang.TongTienHang; nhatky.GiamGia = 0; nhatky.NoCuoi = KH.CongNo - PhieuTraHang.ConLai; nhatky.ThanhToan = -PhieuTraHang.ThanhToan; nhatky.MaPhieu = DBDataProvider.STTPhieuTraHang_DaiLy(DaiLyID); nhatky.NhanVienID = Formats.IDUser(); nhatky.SoPhieu = PhieuTraHang.MaPhieu; nhatky.IDKhachHang = DaiLyID; DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky); DBDataProvider.DB.SubmitChanges(); #endregion if (PhieuTraHang.HinhThucTT == 1) { KH.CongNo -= PhieuTraHang.ConLai; // giảm công nợ } KH.TienTraHang += PhieuTraHang.TongTienHang; KH.LanCuoiMuaHang = DateTime.Now; PhieuTraHang.DuyetDonHang = 1;// duyệt thành công PhieuTraHang.STTDonHang = DBDataProvider.STTPhieuTraHang_DaiLy(DaiLyID); // + tồn kho var PhieuTraHangChiTiet = DBDataProvider.DB.kPhieuTraHangChiTiets.Where(x => x.PhieuTraHangNCCID == IDPhieuTraHang).ToList(); foreach (var prod in PhieuTraHangChiTiet) { var HH = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.HangHoaID).FirstOrDefault(); HH.TonKho += prod.SoLuong; // ghi thẻ kho #region ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Trả hàng #" + PhieuTraHang.MaPhieu; thekho.Nhap = prod.SoLuong; thekho.Xuat = 0; thekho.GiaThoiDiem = prod.TienTra; thekho.Ton = prod.SoLuong + prod.TonKho; thekho.HangHoaID = HH.IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } } } else { // hủy đơn hàng if (KH != null && PhieuTraHang != null) { PhieuTraHang.DuyetDonHang = 2;// hủy đơn hàng PhieuTraHang.STTDonHang = 0; } } PhieuTraHang.NgayDuyet = DateTime.Now; DBDataProvider.DB.SubmitChanges(); scope.Complete(); gridTraHang.CancelEdit(); e.Cancel = true; } catch (Exception ex) { throw ex; } } }
private void Save() { using (var scope = new TransactionScope()) { try { int KT = DBDataProvider.DB.hhHangHoas.Where(x => x.TenHangHoa == txtTenHH.Text).Count(); if (KT == 0) { hhHangHoa hanghoa = new hhHangHoa(); hanghoa.TenHangHoa = txtTenHH.Text; string MaHangHoa = null; if (txtMaHH.Text == "") { string strMaHang = "SP"; string MAX = (DBDataProvider.DB.hhHangHoas.Count() + 1).ToString(); for (int i = 1; i < (6 - MAX.Length); i++) { strMaHang += "0"; } MaHangHoa = strMaHang + MAX; } else { MaHangHoa = txtMaHH.Text; } hanghoa.MaHang = MaHangHoa; hanghoa.NhomHHID = Convert.ToInt32(ccbNhomHH.Value); hanghoa.DonViTinhID = Convert.ToInt32(ccbDVT.Value); hanghoa.TrongLuong = 0; hanghoa.GiaBan = Convert.ToDouble(spGiaBan.Number); hanghoa.GiaVon = Convert.ToDouble(spGiaVon.Number); hanghoa.DaXoa = 0; hanghoa.NgayNhap = DateTime.Now; hanghoa.LoaiHHID = Convert.ToInt32(ccbLoaiHangHoa.Value.ToString()); int SL = Convert.ToInt32(spSoLuong.Number); hanghoa.TonKho = SL; DBDataProvider.DB.hhHangHoas.InsertOnSubmit(hanghoa); DBDataProvider.DB.SubmitChanges(); int IDHangHoa = hanghoa.IDHangHoa; if (SL > 0) { #region Trường hợp số lượng > 0 thì tiến hành ghi thẻ kho kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Khai báo hàng hóa"; thekho.Nhap = SL; thekho.Xuat = 0; thekho.Ton = SL; thekho.GiaThoiDiem = Convert.ToDouble(spGiaVon.Number); thekho.NhanVienID = Formats.IDUser(); thekho.HangHoaID = IDHangHoa; DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion } List <string> ListBarCode = GetListBarCode(); if (ListBarCode.Count > 0) { foreach (string barCode in ListBarCode) { int KT_barcode = DBDataProvider.DB.hhBarcodes.Where(x => x.Barcode == barCode).Count(); if (KT_barcode == 0) { hhBarcode bc = new hhBarcode(); bc.IDHangHoa = IDHangHoa; bc.Barcode = barCode; bc.DaXoa = false; DBDataProvider.DB.hhBarcodes.InsertOnSubmit(bc); } else { throw new Exception("Barcode tồn tại đã bỏ qua!!"); } } } else { hhBarcode bc = new hhBarcode(); bc.IDHangHoa = IDHangHoa; bc.Barcode = MaHangHoa; bc.DaXoa = false; DBDataProvider.DB.hhBarcodes.InsertOnSubmit(bc); } DBDataProvider.DB.SubmitChanges(); scope.Complete(); cbpThemHH.JSProperties["cp_Reset"] = true; } else { throw new Exception("Tên hàng hóa đã tồn tại !!"); } } catch (Exception ex) { throw ex; } } }
protected void gridNhaphang_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e) { int IDChuyenKho = Convert.ToInt32(e.Keys[0].ToString()); using (var scope = new TransactionScope()) { try { var ChuyenKho = DBDataProvider.DB.kChuyenKhos.Where(x => x.IDPhieuChuyen == IDChuyenKho).FirstOrDefault(); if (ChuyenKho != null) { ChuyenKho.DaXoa = 1; List <kChuyenKhoChiTiet> chitiet = DBDataProvider.ChuyenKhoChiTiet(IDChuyenKho); foreach (var nk in chitiet) { 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ừ kho chuyển #region ghi thẻ kho trừ kTheKho thekho = new kTheKho(); thekho.NgayNhap = DateTime.Now; thekho.DienGiai = "Xóa phiếu chuyển kho #" + ChuyenKho.MaPhieu; thekho.Nhap = SoLuong; thekho.Xuat = 0; thekho.GiaThoiDiem = 0; thekho.ChiNhanhID = ChuyenKho.ChiNhanhChuyenID; thekho.Ton = HangHoa.hhTonKhos.Where(s => s.ChiNhanhID == ChuyenKho.ChiNhanhChuyenID).FirstOrDefault().SoLuong += SoLuong; thekho.HangHoaID = IDHangHoa; thekho.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho); #endregion // cộng kho nhận #region ghi thẻ kho kTheKho thekho1 = new kTheKho(); thekho1.NgayNhap = DateTime.Now; thekho1.DienGiai = "Xóa phiếu chuyển kho #" + ChuyenKho.MaPhieu; thekho1.Nhap = 0; thekho1.Xuat = SoLuong; thekho1.GiaThoiDiem = 0; thekho1.ChiNhanhID = ChuyenKho.ChiNhanhNhanID; thekho1.Ton = HangHoa.hhTonKhos.Where(s => s.ChiNhanhID == ChuyenKho.ChiNhanhNhanID).FirstOrDefault().SoLuong -= SoLuong; thekho1.HangHoaID = IDHangHoa; thekho1.NhanVienID = Formats.IDUser(); DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho1); #endregion } } DBDataProvider.DB.SubmitChanges(); scope.Complete(); } } catch (Exception ex) { throw ex; } } gridNhaphang.CancelEdit(); e.Cancel = true; gridNhaphang.DataBind(); }