示例#1
0
        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.DaXoa       = 0;
                                DBDataProvider.DB.hhHangHoas.InsertOnSubmit(hanghoa);
                                DBDataProvider.DB.SubmitChanges();
                                int IDHangHoa = hanghoa.IDHangHoa;

                                // them hang hoa tonkho cho chi nhanh tong
                                hhTonKho tk = new hhTonKho();
                                tk.ChiNhanhID  = Formats.IDChiNhanh();
                                tk.HangHoaID   = IDHangHoa;
                                tk.SoLuong     = TonKho;
                                tk.NgayCapNhat = DateTime.Now;
                                DBDataProvider.DB.hhTonKhos.InsertOnSubmit(tk);

                                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.ChiNhanhID  = Formats.IDChiNhanh();
                                    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);
                        DBDataProvider.DB.hhHangHoas.InsertOnSubmit(hanghoa);
                        DBDataProvider.DB.SubmitChanges();
                        int IDHangHoa = hanghoa.IDHangHoa;

                        hhTonKho tk = new hhTonKho();
                        tk.ChiNhanhID  = Formats.IDChiNhanh();
                        tk.HangHoaID   = IDHangHoa;
                        tk.SoLuong     = SL;
                        tk.NgayCapNhat = DateTime.Now;
                        DBDataProvider.DB.hhTonKhos.InsertOnSubmit(tk);

                        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.ChiNhanhID  = Formats.IDChiNhanh();
                            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;
                }
            }
        }