コード例 #1
0
        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();
        }
コード例 #2
0
        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;
                }
            }
        }
コード例 #3
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.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!!");
            }
        }
コード例 #4
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;
                        }

                        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;
                }
            }
        }
コード例 #5
0
        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;
                }
            }
        }
コード例 #6
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;
                }
            }
        }
コード例 #7
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 < (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;
                }
            }
        }
コード例 #8
0
        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;
                }
            }
        }
コード例 #9
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.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;
                }
            }
        }
コード例 #10
0
        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();
        }
コード例 #11
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)
                        {
                            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;
                }
            }
        }
コード例 #12
0
        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;
                }
            }
        }
コード例 #13
0
        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;
                }
            }
        }
コード例 #14
0
        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();
        }