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 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!!"); } }
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; } } }