Exemple #1
0
        protected void cbpViewReport_Callback(object sender, CallbackEventArgsBase e)
        {
            int IDPhieuTraHang = int.Parse(e.Parameter);
            var PhieuTraHang   = DBDataProvider.GetPhieuTraHang_DaiLy(IDPhieuTraHang);

            oReturnNodeReport                = new oReportGiaoHang();
            oReturnNodeReport.MaKhachHang    = PhieuTraHang.khKhachHang.MaKhachHang;
            oReturnNodeReport.TenKhachHang   = PhieuTraHang.khKhachHang.HoTen;
            oReturnNodeReport.DienThoai      = PhieuTraHang.khKhachHang.DienThoai;
            oReturnNodeReport.DiaChiGiaoHang = PhieuTraHang.khKhachHang.DiaChi;
            oReturnNodeReport.TenNhanVien    = PhieuTraHang.nvNhanVien.HoTen;
            oReturnNodeReport.GhiChuGiaoHang = PhieuTraHang.GhiChu;
            oReturnNodeReport.NgayGiao       = Formats.ConvertToVNDateString(PhieuTraHang.NgayTra.ToString());
            oReturnNodeReport.NgayTao        = Formats.ConvertToVNDateString(PhieuTraHang.NgayNhap.ToString());
            oReturnNodeReport.TongTien       = Convert.ToDouble(PhieuTraHang.TongTienHang);
            oReturnNodeReport.TieuDePhieu    = "PHIẾU TRẢ HÀNG " + PhieuTraHang.STTDonHang;

            oReturnNodeReport.listProduct = new List <oProduct>();
            List <kPhieuTraHangChiTiet> ListHang = DBDataProvider.ListChiTietTraHang_DaiLy(IDPhieuTraHang);
            int i = 1;

            foreach (var Hang in ListHang)
            {
                oProduct prod = new oProduct();
                prod.STT          = i++;
                prod.MaHang       = Hang.hhHangHoa.MaHang;
                prod.TenHang      = Hang.hhHangHoa.TenHangHoa;
                prod.TenDonViTinh = Hang.hhHangHoa.hhDonViTinh.TenDonViTinh;
                prod.SoLuong      = Convert.ToInt32(Hang.SoLuong);
                prod.DonGia       = Convert.ToDouble(Hang.TienTra);
                prod.ThanhTien    = Convert.ToDouble(Hang.ThanhTien);
                oReturnNodeReport.listProduct.Add(prod);
            }
        }
        protected void cbpInfo_Callback(object sender, DevExpress.Web.CallbackEventArgsBase e)
        {
            switch (e.Parameter)
            {
            case "refresh": BindGrid(); break;

            case "ccbNhaCungCapChanged":
                listReceiptProducts = new List <oImportProduct_TraHangNCC>();
                BindGrid();
                ListSoPhieu();
                break;

            case "ccbSoPhieuChanged":
                listReceiptProducts = new List <oImportProduct_TraHangNCC>();
                ListSoPhieu();
                int NhapKhoID          = int.Parse(ccbSoPhieu.Value.ToString());
                var ListNhapKhoChiTiet = DBDataProvider.ListChiTietNhapKho(NhapKhoID);
                foreach (var prod in ListNhapKhoChiTiet)
                {
                    Insert_Hang(Convert.ToInt32(prod.HangHoaID));
                }
                BindGrid();
                break;

            default: break;
            }
        }
        protected void cbpViewReport_Callback(object sender, CallbackEventArgsBase e)
        {
            int IDPhieuGiaoHang = int.Parse(e.Parameter);
            var PhieuGiaoHang   = DBDataProvider.GetPhieuGiaoHang(IDPhieuGiaoHang);

            oCusExport                   = new oReportGiaoHang();
            oCusExport.MaKhachHang       = PhieuGiaoHang.khKhachHang.MaKhachHang;
            oCusExport.TenKhachHang      = PhieuGiaoHang.khKhachHang.HoTen;
            oCusExport.DienThoai         = PhieuGiaoHang.DienThoai;
            oCusExport.DiaChiGiaoHang    = PhieuGiaoHang.DiaChiGiaoHang;
            oCusExport.TenNhanVien       = PhieuGiaoHang.nvNhanVien.HoTen;
            oCusExport.GhiChuGiaoHang    = PhieuGiaoHang.GhiChuGiaoHang;
            oCusExport.NgayGiao          = Formats.ConvertToVNDateString(PhieuGiaoHang.NgayGiao.ToString());
            oCusExport.NgayTao           = Formats.ConvertToVNDateString(PhieuGiaoHang.NgayTao.ToString());
            oCusExport.TongSoLuong       = Convert.ToInt32(PhieuGiaoHang.TongSoLuong);
            oCusExport.TongTien          = Convert.ToDouble(PhieuGiaoHang.TongTien);
            oCusExport.ThanhToan         = Convert.ToDouble(PhieuGiaoHang.ThanhToan);
            oCusExport.CongNoHienTai     = Convert.ToDouble(PhieuGiaoHang.CongNoHienTai);
            oCusExport.SoHoaDon          = PhieuGiaoHang.SoHoaDon;
            oCusExport.GiamGia           = Convert.ToDouble(PhieuGiaoHang.GiamGia);
            oCusExport.SoDonHangTrongNam = PhieuGiaoHang.SoDonHangTrongNam.ToString();
            oCusExport.TieuDePhieu       = "PHIẾU BÁN HÀNG " + PhieuGiaoHang.STTDonHang;
            string TrangThai = "";

            switch (PhieuGiaoHang.TrangThai)
            {
            case 0:
                TrangThai = "(Đã đặt)";
                break;

            case 1:
                TrangThai = "(Kiêm phiếu xuất kho)";
                break;

            case 3:
                TrangThai = "(Kiêm phiếu xuất kho)";
                break;

            default:
                TrangThai = "(Đã hủy)";
                break;
            }
            oCusExport.TrangThaiPhieu = TrangThai;
            oCusExport.listProduct    = new List <oProduct>();
            List <ghPhieuGiaoHangChiTiet> ListHang = DBDataProvider.ListChiTietGiaoHang(IDPhieuGiaoHang);
            int i = 1;

            foreach (var Hang in ListHang)
            {
                oProduct prod = new oProduct();
                prod.STT          = i++;
                prod.MaHang       = Hang.hhHangHoa.MaHang;
                prod.TenHang      = Hang.hhHangHoa.TenHangHoa;
                prod.TenDonViTinh = Hang.hhHangHoa.hhDonViTinh.TenDonViTinh;
                prod.SoLuong      = Convert.ToInt32(Hang.SoLuong);
                prod.DonGia       = Convert.ToDouble(Hang.GiaBan);
                prod.ThanhTien    = Convert.ToDouble(Hang.ThanhTien);
                oCusExport.listProduct.Add(prod);
            }
        }
        private void ListSoPhieu()
        {
            int IDNhaCungCap = int.Parse(ccbNhaCungCap.Value.ToString());
            var ListNhapHang = DBDataProvider.ListPhieuNhapHang_TraHang(IDNhaCungCap);

            ccbSoPhieu.DataSource = ListNhapHang;
            ccbSoPhieu.DataBind();
        }
Exemple #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="displayName">Display Name</param>
        /// <param name="interval">In Seconds</param>
        public ListViewPanel(DBDataProvider dataProvider, ConfigEntry entry)
        {
            InitializeComponent();
            this.deviceKey    = entry.DeviceKey;
            this.DisplayName  = entry.DisplayName;
            this.dataProvider = dataProvider;

            this.HasSerachDataChart = false;
            this.HasRealTimeChart   = false;
        }
Exemple #6
0
        private void ListPhieuThanhToan(int IDKhachHang)
        {
            var KhachHang = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDKhachHang).FirstOrDefault();

            memoNoiDungTT.Text = "";
            memoNoiDungTT.Text = KhachHang.HoTen.ToUpper() + " THANH TOÁN: ";

            var ListDonHang = DBDataProvider.ListPhieuGiaoHang(IDKhachHang);

            ccbPhieuThanhToan.DataSource = ListDonHang;
            ccbPhieuThanhToan.DataBind();
        }
        protected void gridXuathang_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
        {
            int IDPhieuXuat = Convert.ToInt32(e.Keys[0].ToString());

            using (var scope = new TransactionScope())
            {
                try
                {
                    var XuatKho = DBDataProvider.DB.kPhieuXuatKhacs.Where(x => x.IDPhieuXuat == IDPhieuXuat).FirstOrDefault();
                    if (XuatKho != null)
                    {
                        if (XuatKho.DaXoa == 0)
                        {
                            XuatKho.DaXoa = 1; // đã xóa
                            List <kPhieuXuatKhacChiTiet> ctXuatKho = DBDataProvider.XuatKhacKhoChiTiet(IDPhieuXuat);
                            foreach (var xk in ctXuatKho)
                            {
                                int IDHangHoa = Convert.ToInt32(xk.HangHoaID);
                                int SoLuong   = Convert.ToInt32(xk.SoLuong);
                                var HangHoa   = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == IDHangHoa).FirstOrDefault();
                                if (HangHoa != null)
                                {
                                    #region ghi thẻ kho
                                    kTheKho thekho = new kTheKho();
                                    thekho.NgayNhap    = DateTime.Now;
                                    thekho.DienGiai    = "Xóa phiếu xuất khác #" + XuatKho.MaPhieuXuat;
                                    thekho.Nhap        = SoLuong;
                                    thekho.Xuat        = 0;
                                    thekho.Ton         = HangHoa.hhTonKhos.Where(tk => tk.ChiNhanhID == XuatKho.ChiNhanhID).FirstOrDefault().SoLuong += SoLuong; // cộng tồn kho luôn
                                    thekho.HangHoaID   = IDHangHoa;
                                    thekho.GiaThoiDiem = 0;
                                    thekho.NhanVienID  = Formats.IDUser();
                                    thekho.ChiNhanhID  = Formats.IDChiNhanh();
                                    DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho);
                                    #endregion
                                }
                            }
                            DBDataProvider.DB.SubmitChanges();
                            scope.Complete();
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            gridXuathang.CancelEdit();
            e.Cancel = true;
            gridXuathang.DataBind();
        }
        protected TokenCollection LoadListBarCode(int ID)
        {
            TokenCollection listBarCode = new TokenCollection();

            if (ID != null)
            {
                List <hhBarcode> barcode = DBDataProvider.GetDanhSach(ID);
                foreach (var bc in barcode)
                {
                    listBarCode.Add(bc.Barcode);
                }
            }
            return(listBarCode);
        }
        private void ListSoPhieu()
        {
            int IDDaiLy = int.Parse(ccbNhaCungCap.Value.ToString());
            var KH      = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDDaiLy).FirstOrDefault();

            if (KH.LoaiKhachHangID == 3)
            {
                ckGiamCongNo.Checked = true;
            }
            ckGiamCongNo.Checked = false;
            var ListGiaoHang = DBDataProvider.ListPhieuGiaoHang_TraHang(IDDaiLy);

            ccbSoPhieu.DataSource = ListGiaoHang;
            ccbSoPhieu.DataBind();
        }
 protected void cbpViewReport_Callback(object sender, CallbackEventArgsBase e)
 {
     hdfViewReport["View"] = 1;
     if (ccbKhachHang.Value != null)
     {
         int IDKhachHang = Convert.ToInt32(ccbKhachHang.Value.ToString());
         oInGiaoDich        = new oReportGiaoDich();
         oInGiaoDich.TieuDe = "CHI TIẾT PHÁT SINH";
         var kh = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDKhachHang).FirstOrDefault();
         oInGiaoDich.MaKhachHang  = kh == null ? "" : kh.MaKhachHang;
         oInGiaoDich.TenKhachHang = kh == null ? "" : kh.HoTen;
         oInGiaoDich.DienThoai    = kh == null ? "" : kh.DienThoai;
         oInGiaoDich.DiaChi       = kh == null ? "" : kh.DiaChi;
         oInGiaoDich.listProduct  = new List <oChiTietGiaoDich>();
         oInGiaoDich.NgayThangNam = DBDataProvider.TinhThanhCty() + ", " + Formats.ConvertToFullStringDate(DateTime.Now);
         string NgayBD = fromDay.Date.ToString("yyyy-MM-dd");
         string NgayKT = toDay.Date.AddDays(1).ToString("yyyy-MM-dd");
         List <khNhatKyCongNo> nhatky = DBDataProvider.DB.khNhatKyCongNos.Where(x => x.NgayNhap <= DateTime.Parse(NgayKT) && x.NgayNhap >= DateTime.Parse(NgayBD) && x.IDKhachHang == IDKhachHang).ToList();
         int    stt = 1;
         double TongHangTra = 0, TongPhatSinh = 0, TongThanhToan = 0, TongGiamGia = 0;
         foreach (var a in nhatky)
         {
             TongHangTra   += Convert.ToDouble(a.TraHang);
             TongPhatSinh  += Convert.ToDouble(a.NhapHang);
             TongThanhToan += Convert.ToDouble(a.ThanhToan);
             TongGiamGia   += Convert.ToDouble(a.GiamGia);
             oChiTietGiaoDich chitiet = new oChiTietGiaoDich();
             chitiet.STT       = stt++;
             chitiet.Ngay      = Formats.ConvertToVNDateString(a.NgayNhap.ToString());
             chitiet.NoiDung   = a.DienGiai;
             chitiet.SoPhieu   = a.MaPhieu.ToString();
             chitiet.NoDau     = Convert.ToDouble(a.NoDau);
             chitiet.NhapHang  = Convert.ToDouble(a.NhapHang);
             chitiet.HangTra   = Convert.ToDouble(a.TraHang);
             chitiet.ThanhToan = Convert.ToDouble(a.ThanhToan);
             chitiet.NoCuoi    = Convert.ToDouble(a.NoCuoi);
             chitiet.GiamGia   = Convert.ToDouble(a.GiamGia);
             oInGiaoDich.listProduct.Add(chitiet);
         }
         oInGiaoDich.TongHangTra   = TongHangTra;
         oInGiaoDich.TongPhatSinh  = TongPhatSinh;
         oInGiaoDich.TongThanhToan = TongThanhToan;
         oInGiaoDich.TongGiamGia   = TongGiamGia;
     }
 }
Exemple #11
0
        private void CreateReportReview()
        {
            hdfViewReport["view"]  = 1;
            oPhieuTTExport         = new oThanhToan();
            oPhieuTTExport.NgayThu = DBDataProvider.TinhThanhCty() + ", " + Formats.ConvertToFullStringDate(DateTime.Parse(dateNgayTT.Text.ToString()));
            var KH = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == Convert.ToInt32(ccbKhachHang.Value.ToString())).FirstOrDefault();

            oPhieuTTExport.STTPhieuThu             = 0000;
            oPhieuTTExport.TieuDe                  = "PHIẾU THANH TOÁN ";
            oPhieuTTExport.XemTruoc                = "(Xem trước)";
            oPhieuTTExport.SoHoaDon                = txtHoaDon.Text;
            oPhieuTTExport.TenKhachHang            = KH.HoTen;
            oPhieuTTExport.MaKhachHang             = KH.MaKhachHang;
            oPhieuTTExport.DienThoai               = KH.DienThoai;
            oPhieuTTExport.NoiDung                 = memoNoiDungTT.Text;
            oPhieuTTExport.SoTienThu               = Convert.ToDouble(speSoTienTT.Number);
            oPhieuTTExport.CongNoTruocThanhToan    = Convert.ToDouble(KH.CongNo);
            oPhieuTTExport.CongNoSauThanhToan      = Convert.ToDouble(KH.CongNo) - Convert.ToDouble(speSoTienTT.Number);
            cbpThanhToan.JSProperties["cp_rpView"] = true;
        }
        protected void cbpViewReport_Callback(object sender, CallbackEventArgsBase e)
        {
            int IDPhieuThu = int.Parse(e.Parameter);
            var PhieuTT    = DBDataProvider.DB.kPhieuThanhToanNCCs.Where(x => x.IDPhieuThu == IDPhieuThu).SingleOrDefault();

            hdfViewReport["view"]               = 1;
            oPhieuTTExport                      = new oThanhToan();
            oPhieuTTExport.NgayThu              = DBDataProvider.TinhThanhCty() + ", " + Formats.ConvertToFullStringDate(DateTime.Parse(PhieuTT.NgayThu.ToString()));
            oPhieuTTExport.IDKhachHang          = Convert.ToInt32(PhieuTT.KhachHangID);
            oPhieuTTExport.STTPhieuThu          = Convert.ToInt32(PhieuTT.STTPhieuThu);
            oPhieuTTExport.TieuDe               = "PHIẾU THANH TOÁN " + PhieuTT.STTPhieuThu;
            oPhieuTTExport.SoHoaDon             = PhieuTT.SoHoaDon;
            oPhieuTTExport.TenKhachHang         = PhieuTT.khKhachHang.HoTen;
            oPhieuTTExport.MaKhachHang          = PhieuTT.khKhachHang.MaKhachHang;
            oPhieuTTExport.DienThoai            = PhieuTT.khKhachHang.DienThoai;
            oPhieuTTExport.NoiDung              = PhieuTT.NoiDung;
            oPhieuTTExport.SoTienThu            = Convert.ToDouble(PhieuTT.SoTienThu);
            oPhieuTTExport.CongNoTruocThanhToan = Convert.ToDouble(PhieuTT.CongNoCu);
            oPhieuTTExport.CongNoSauThanhToan   = Convert.ToDouble(PhieuTT.CongNoCu - PhieuTT.SoTienThu);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="displayName">Display Name</param>
        /// <param name="interval">In Seconds</param>
        public ListViewPanel(DBDataProvider dataProvider, ConfigEntry entry)
        {
            InitializeComponent();
            this.deviceKey    = entry.DeviceKey;
            this.DisplayName  = entry.DisplayName;
            this.dataProvider = dataProvider;

            this.dbConn = this.dataProvider.GetMySqlConnection();

            var dbCmd           = this.dbConn.CreateCommand();
            var dispatcherTimer = new System.Windows.Threading.DispatcherTimer();

            dispatcherTimer.Tick += (s, evt) =>
            {
                if (this.Shown && this.deviceKey != currentDeviceKey)
                {
                    currentDeviceKey = this.deviceKey;
                    this.ListRecentData(dbCmd);
                }
            };
            dispatcherTimer.Interval = new TimeSpan(0, 0, 2);
            dispatcherTimer.Start();
        }
        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;
                }
            }
        }
Exemple #15
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;
                }
            }
        }
        protected void Save()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    if (listReceiptProducts.Count > 0)
                    {
                        double TongTien    = 0;
                        int    TongSoLuong = 0;
                        foreach (var prod in listReceiptProducts)
                        {
                            TongTien    += prod.ThanhTien;
                            TongSoLuong += prod.SoLuong;
                        }
                        string MaPhieu = null, strMaPhieu = "PX";
                        string MAX = (DBDataProvider.DB.ghPhieuGiaoHangs.Count() + 1).ToString();
                        for (int i = 1; i < (10 - MAX.Length); i++)
                        {
                            strMaPhieu += "0";
                        }
                        MaPhieu = strMaPhieu + MAX;
                        int             IDkhachHang = Int32.Parse(ccbNhaCungCap.Value.ToString());
                        var             KH          = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDkhachHang).FirstOrDefault();
                        ghPhieuGiaoHang giaohang    = new ghPhieuGiaoHang();
                        giaohang.NgayTao        = DateTime.Now;
                        giaohang.MaPhieu        = MaPhieu;
                        giaohang.NhanVienID     = Formats.IDUser();
                        giaohang.GhiChuGiaoHang = memoGhiChu.Text;
                        giaohang.KhachHangID    = IDkhachHang;
                        giaohang.NgayGiao       = Formats.ConvertToDateTime(dateNgayNhap.Text);
                        giaohang.NguoiGiao      = "";
                        giaohang.DiaChiGiaoHang = KH.DiaChi;
                        giaohang.DaXoa          = 0;
                        giaohang.TTThanhToan    = 0; //0 chưa thanh toán. 1 đã thanh toán
                        giaohang.TrangThai      = 0; // chưa duyệt, 1 đã duyệt
                        giaohang.TongSoLuong    = TongSoLuong;
                        giaohang.DienThoai      = KH.DienThoai;
                        giaohang.ChiNhanhID     = Formats.IDChiNhanh();
                        giaohang.TongTien       = TongTien;
                        giaohang.ThanhToan      = Convert.ToDouble(spKhachHangThoan.Number);
                        giaohang.GiamGia        = Convert.ToDouble(spGiamGia.Number);
                        giaohang.ConLai         = (TongTien - (Convert.ToDouble(spGiamGia.Number) + Convert.ToDouble(spKhachHangThoan.Number)));
                        giaohang.STTDonHang     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);

                        DBDataProvider.DB.ghPhieuGiaoHangs.InsertOnSubmit(giaohang);
                        DBDataProvider.DB.SubmitChanges();

                        int IDPhieuGiaoHang = Convert.ToInt32(giaohang.IDPhieuGiaoHang);
                        hiddenFields["IDPhieuMoi"] = IDPhieuGiaoHang;
                        foreach (var prod in listReceiptProducts)
                        {
                            // insert phiếu giao hàng chi tiết
                            ghPhieuGiaoHangChiTiet chitiet = new ghPhieuGiaoHangChiTiet();
                            chitiet.PhieuGiaoHangID = IDPhieuGiaoHang;
                            chitiet.HangHoaID       = prod.IDHangHoa;
                            chitiet.TonKho          = prod.TonKho;
                            chitiet.SoLuong         = prod.SoLuong;
                            chitiet.GiaBan          = prod.GiaBan;
                            chitiet.GiaVon          = prod.GiaVon;
                            chitiet.ThanhTien       = prod.ThanhTien;
                            DBDataProvider.DB.ghPhieuGiaoHangChiTiets.InsertOnSubmit(chitiet);
                            // trừ tạm tồn kho. không ghi công nợ, khi duyệt thì ghi thẻ kho + cộng công nợ khách hàng
                            var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault();
                            if (TonKhoBanDau != null && TonKhoBanDau.LoaiHHID == 1)
                            {
                                TonKhoBanDau.hhTonKhos.Where(tk => tk.ChiNhanhID == Formats.IDChiNhanh()).FirstOrDefault().SoLuong -= prod.SoLuong;
                                // ghi thẻ kho
                                #region ghi thẻ kho
                                kTheKho thekho = new kTheKho();
                                thekho.NgayNhap    = DateTime.Now;
                                thekho.DienGiai    = "Lập phiếu giao hàng#" + MaPhieu;
                                thekho.Nhap        = 0;
                                thekho.Xuat        = prod.SoLuong;
                                thekho.GiaThoiDiem = prod.GiaBan;
                                thekho.Ton         = prod.TonKho - prod.SoLuong;
                                thekho.HangHoaID   = TonKhoBanDau.IDHangHoa;
                                thekho.ChiNhanhID  = Formats.IDChiNhanh();
                                thekho.NhanVienID  = Formats.IDUser();
                                DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho);
                                #endregion
                            }
                        }
                        DBDataProvider.DB.SubmitChanges();
                        scope.Complete();
                        cbpInfoImport.JSProperties["cp_Reset"] = true;
                    }
                    else
                    {
                        throw new Exception("Danh sách hàng hóa trống !!");
                        ccbBarcode.Text  = "";
                        ccbBarcode.Value = "";
                        ccbBarcode.Focus();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
        protected void Save()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    if (listReceiptProducts.Count > 0)
                    {
                        double TongTien    = 0;
                        int    TongSoLuong = 0;
                        foreach (var prod in listReceiptProducts)
                        {
                            TongTien    += prod.ThanhTien;
                            TongSoLuong += prod.SoLuong;
                        }
                        string MaPhieu = null, strMaPhieu = "PX";
                        string MAX = (DBDataProvider.DB.ghPhieuGiaoHangs.Count() + 1).ToString();
                        for (int i = 1; i < (7 - MAX.Length); i++)
                        {
                            strMaPhieu += "0";
                        }
                        MaPhieu = strMaPhieu + MAX;

                        int             IDkhachHang = Int32.Parse(ccbNhaCungCap.Value.ToString());
                        var             KH          = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDkhachHang).FirstOrDefault();
                        ghPhieuGiaoHang giaohang    = new ghPhieuGiaoHang();
                        giaohang.NgayTao           = DateTime.Now;
                        giaohang.MaPhieu           = MaPhieu;
                        giaohang.NhanVienID        = Formats.IDUser();
                        giaohang.GhiChuGiaoHang    = memoGhiChu.Text;
                        giaohang.KhachHangID       = IDkhachHang;
                        giaohang.NgayGiao          = Formats.ConvertToDateTime(dateNgayNhap.Text);
                        giaohang.NguoiGiao         = "";
                        giaohang.DiaChiGiaoHang    = KH.DiaChi;
                        giaohang.DaXoa             = 0;
                        giaohang.TTThanhToan       = 0; //0 chưa thanh toán. 1 đã thanh toán
                        giaohang.TrangThai         = 3; // chưa duyệt, 1 đã duyệt, 3 bán hàng
                        giaohang.TongSoLuong       = TongSoLuong;
                        giaohang.DienThoai         = KH.DienThoai;
                        giaohang.TongTien          = TongTien;
                        giaohang.NgayDuyet         = DateTime.Parse(dateNgayNhap.Text);
                        giaohang.GiamGia           = Convert.ToDouble(spGiamGia.Number);
                        giaohang.ThanhToan         = Convert.ToDouble(spKhachHangThoan.Number);                                                   // khách thanh toán
                        giaohang.ConLai            = TongTien - (Convert.ToDouble(spGiamGia.Number) + Convert.ToDouble(spKhachHangThoan.Number)); // (-1)*Convert.ToDouble(spTienTraKhach.Number);
                        giaohang.STTDonHang        = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);
                        giaohang.SoDonHangTrongNam = DBDataProvider.SoDonHangTrongNam_GiaoHang();
                        giaohang.CongNoHienTai     = KH.CongNo;
                        DBDataProvider.DB.ghPhieuGiaoHangs.InsertOnSubmit(giaohang);
                        DBDataProvider.DB.SubmitChanges();
                        int IDPhieuGiaoHang = giaohang.IDPhieuGiaoHang;
                        hiddenFields["IDPhieuMoi"] = IDPhieuGiaoHang;
                        foreach (var prod in listReceiptProducts)
                        {
                            // insert phiếu giao hàng chi tiết
                            ghPhieuGiaoHangChiTiet chitiet = new ghPhieuGiaoHangChiTiet();
                            chitiet.PhieuGiaoHangID = IDPhieuGiaoHang;
                            chitiet.HangHoaID       = prod.IDHangHoa;
                            chitiet.TonKho          = prod.TonKho;
                            chitiet.SoLuong         = prod.SoLuong;
                            chitiet.GiaBan          = prod.GiaBan;
                            chitiet.GiaVon          = prod.GiaVon;
                            chitiet.ThanhTien       = prod.ThanhTien;
                            DBDataProvider.DB.ghPhieuGiaoHangChiTiets.InsertOnSubmit(chitiet);
                            // trừ tạm tồn kho.
                            var TonKhoBanDau = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault();
                            if (TonKhoBanDau != null)
                            {
                                TonKhoBanDau.TonKho -= prod.SoLuong;
                                var HH = DBDataProvider.DB.hhHangHoas.Where(x => x.IDHangHoa == prod.IDHangHoa).FirstOrDefault();
                                //ghi thẻ kho
                                #region thẻ kho
                                kTheKho thekho = new kTheKho();
                                thekho.NgayNhap    = DateTime.Now;
                                thekho.DienGiai    = "Bán hàng #" + giaohang.MaPhieu;
                                thekho.Nhap        = 0;
                                thekho.Xuat        = prod.SoLuong;
                                thekho.Ton         = HH.TonKho;
                                thekho.GiaThoiDiem = prod.GiaBan;
                                thekho.HangHoaID   = HH.IDHangHoa;
                                thekho.NhanVienID  = Formats.IDUser();
                                DBDataProvider.DB.kTheKhos.InsertOnSubmit(thekho);
                                #endregion
                            }
                        }



                        if (Convert.ToDouble(spTienTraKhach.Number) < 0)
                        {
                            // cập nhật công nợ
                            #region nhật ký công nợ
                            khNhatKyCongNo nhatky = new khNhatKyCongNo();
                            nhatky.NgayNhap    = DateTime.Now;
                            nhatky.DienGiai    = "Bán hàng";
                            nhatky.NoDau       = KH.CongNo;
                            nhatky.NhapHang    = TongTien;
                            nhatky.TraHang     = 0;
                            nhatky.GiamGia     = Convert.ToDouble(spGiamGia.Number);
                            nhatky.NoCuoi      = KH.CongNo += (-1) * Convert.ToDouble(spTienTraKhach.Number);
                            nhatky.ThanhToan   = Convert.ToDouble(spKhachHangThoan.Number);
                            nhatky.MaPhieu     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);
                            nhatky.NhanVienID  = Formats.IDUser();
                            nhatky.SoPhieu     = giaohang.MaPhieu;
                            nhatky.IDKhachHang = IDkhachHang;
                            DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                            DBDataProvider.DB.SubmitChanges();
                            #endregion
                            // KH.CongNo += (-1) * Convert.ToDouble(spTienTraKhach.Number); // cộng công nợ
                        }
                        else
                        {
                            #region nhật ký công nợ
                            khNhatKyCongNo nhatky = new khNhatKyCongNo();
                            nhatky.NgayNhap    = DateTime.Now;
                            nhatky.DienGiai    = "Bán hàng";
                            nhatky.NoDau       = KH.CongNo;
                            nhatky.NhapHang    = TongTien;
                            nhatky.GiamGia     = Convert.ToDouble(spGiamGia.Number);
                            nhatky.TraHang     = 0;
                            nhatky.NoCuoi      = KH.CongNo;
                            nhatky.ThanhToan   = Convert.ToDouble(spKhachHangThoan.Number);
                            nhatky.MaPhieu     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);
                            nhatky.NhanVienID  = Formats.IDUser();
                            nhatky.SoPhieu     = giaohang.MaPhieu;
                            nhatky.IDKhachHang = IDkhachHang;
                            DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                            DBDataProvider.DB.SubmitChanges();
                            #endregion
                        }

                        KH.TongTienHang  += TongTien;
                        KH.LanCuoiMuaHang = DateTime.Now;

                        DBDataProvider.DB.SubmitChanges();
                        scope.Complete();
                        Reset();
                        cbpInfoImport.JSProperties["cp_Reset"] = true;
                    }
                    else
                    {
                        throw new Exception("Danh sách hàng hóa trống !!");
                        ccbBarcode.Text  = "";
                        ccbBarcode.Value = "";
                        ccbBarcode.Focus();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
        private void CreateReportReview_Save(int IDPhieu)
        {
            hdfViewReport["view"] = 1;
            var PhieuGiaoHang = DBDataProvider.GetPhieuGiaoHang(IDPhieu);

            oCusExport                   = new oReportGiaoHang();
            oCusExport.MaKhachHang       = PhieuGiaoHang.khKhachHang.MaKhachHang;
            oCusExport.TenKhachHang      = PhieuGiaoHang.khKhachHang.HoTen;
            oCusExport.DienThoai         = PhieuGiaoHang.DienThoai;
            oCusExport.DiaChiGiaoHang    = PhieuGiaoHang.DiaChiGiaoHang;
            oCusExport.TenNhanVien       = PhieuGiaoHang.nvNhanVien.HoTen;
            oCusExport.GhiChuGiaoHang    = PhieuGiaoHang.GhiChuGiaoHang;
            oCusExport.NgayGiao          = Formats.ConvertToVNDateString(PhieuGiaoHang.NgayGiao.ToString());
            oCusExport.NgayTao           = Formats.ConvertToVNDateString(PhieuGiaoHang.NgayTao.ToString());
            oCusExport.TongSoLuong       = Convert.ToInt32(PhieuGiaoHang.TongSoLuong);
            oCusExport.TongTien          = Convert.ToDouble(PhieuGiaoHang.TongTien);
            oCusExport.ThanhToan         = Convert.ToDouble(PhieuGiaoHang.ThanhToan);
            oCusExport.CongNoHienTai     = Convert.ToDouble(PhieuGiaoHang.CongNoHienTai);
            oCusExport.SoHoaDon          = PhieuGiaoHang.SoHoaDon;
            oCusExport.GiamGia           = Convert.ToDouble(PhieuGiaoHang.GiamGia);
            oCusExport.SoDonHangTrongNam = PhieuGiaoHang.SoDonHangTrongNam.ToString();
            oCusExport.TieuDePhieu       = "PHIẾU BÁN HÀNG " + PhieuGiaoHang.STTDonHang;
            string TrangThai = "";

            switch (PhieuGiaoHang.TrangThai)
            {
            case 0:
                TrangThai = "(Đã đặt)";
                break;

            case 1:
                TrangThai = "(Kiêm phiếu xuất kho)";
                break;

            case 3:
                TrangThai = "(Kiêm phiếu xuất kho)";
                break;

            default:
                TrangThai = "(Đã hủy)";
                break;
            }
            oCusExport.TrangThaiPhieu = TrangThai;
            oCusExport.listProduct    = new List <oProduct>();
            List <ghPhieuGiaoHangChiTiet> ListHang = DBDataProvider.ListChiTietGiaoHang(IDPhieu);
            int i = 1;

            foreach (var Hang in ListHang)
            {
                oProduct prod = new oProduct();
                prod.STT          = i++;
                prod.MaHang       = Hang.hhHangHoa.MaHang;
                prod.TenHang      = Hang.hhHangHoa.TenHangHoa;
                prod.TenDonViTinh = Hang.hhHangHoa.hhDonViTinh.TenDonViTinh;
                prod.SoLuong      = Convert.ToInt32(Hang.SoLuong);
                prod.DonGia       = Convert.ToDouble(Hang.GiaBan);
                prod.ThanhTien    = Convert.ToDouble(Hang.ThanhTien);
                oCusExport.listProduct.Add(prod);
            }
            cbpInfoImport.JSProperties["cp_rpView"] = true;
        }
        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();
        }
Exemple #20
0
        protected void Save()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    double TongTien    = 0;
                    int    TongSoLuong = 0;
                    foreach (var prod in listReceiptProducts)
                    {
                        TongTien    += prod.ThanhTien;
                        TongSoLuong += prod.SoLuong;
                    }
                    string MaPhieu = null, strMaPhieu = "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      = 0; // chưa duyệt, 1 đã duyệt
                    giaohang.TongSoLuong    = TongSoLuong;
                    giaohang.DienThoai      = KH.DienThoai;
                    giaohang.TongTien       = TongTien;
                    giaohang.ThanhToan      = 0;
                    giaohang.ConLai         = TongTien;
                    giaohang.STTDonHang     = DBDataProvider.STTPhieuGiaoHang_DaiLy(IDkhachHang);

                    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. 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.TonKho -= prod.SoLuong;
                        }
                    }
                    DBDataProvider.DB.SubmitChanges();
                    scope.Complete();
                    Reset();
                    cbpInfoImport.JSProperties["cp_Reset"] = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
Exemple #21
0
        public void LuuThanhToan()
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    double?SoTienThu = double.Parse(speSoTienTT.Number.ToString());
                    if (SoTienThu == 0)
                    {
                        throw new Exception("Chưa nhập số tiền thanh toán");
                    }
                    double?SoNoHienTai = double.Parse(txtCongNoHienTai.Text);
                    if (SoTienThu > SoNoHienTai)
                    {
                        throw new Exception("Số tiền thu không được vượt qua số nợ hiện tại");
                    }

                    int      IDKhachHang = Convert.ToInt32(ccbKhachHang.Value.ToString());
                    string   SoHoaDon    = txtHoaDon.Text;
                    string   NoiDung     = memoNoiDungTT.Text;
                    DateTime NgayThu     = Formats.ConvertToDateTime(dateNgayTT.Text);
                    int      HinhThucThu = rdlHinhThuc.SelectedIndex == 0 ? 1 : 2;
                    double   CongNoCu    = double.Parse(txtCongNoHienTai.Text);


                    ghPhieuDaiLyThanhToan thanhtoan = new ghPhieuDaiLyThanhToan();
                    thanhtoan.STTPhieuThu   = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                    thanhtoan.SoHoaDon      = SoHoaDon;
                    thanhtoan.KhachHangID   = IDKhachHang;
                    thanhtoan.SoTienThu     = SoTienThu;
                    thanhtoan.NoiDung       = NoiDung;
                    thanhtoan.NgayThu       = NgayThu;
                    thanhtoan.NgayLap       = DateTime.Now;
                    thanhtoan.NhanVienThuID = Formats.IDUser();
                    thanhtoan.HinhThucTTID  = HinhThucThu;
                    thanhtoan.CongNoCu      = CongNoCu;

                    DBDataProvider.DB.ghPhieuDaiLyThanhToans.InsertOnSubmit(thanhtoan);
                    DBDataProvider.DB.SubmitChanges();
                    int         IDPhieuThu = thanhtoan.IDPhieuThu;
                    khKhachHang KH         = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDKhachHang).FirstOrDefault();
                    KH.LanCuoiMuaHang = DateTime.Now;
                    if (rdlHinhThuc.SelectedIndex == 0)
                    {
                        //Cap nhat thanh toan phieu giao hang
                        List <ghPhieuGiaoHang> ListPhieuGiaoHang = DBDataProvider.ListPhieuGiaoHang_ASC(IDKhachHang);// phiếu đã được duyệt & chưa thanh toán
                        int i = 0;
                        if (SoTienThu > 0 && ListPhieuGiaoHang.Count > 0)
                        {
                            while (SoTienThu > 0 && i < ListPhieuGiaoHang.Count)
                            {
                                double?TienNoDonHang = ListPhieuGiaoHang[i].ConLai;
                                if (SoTienThu >= TienNoDonHang)                                       //Thanh toán hết đơn hàng
                                {
                                    ListPhieuGiaoHang[i].ThanhToan   = ListPhieuGiaoHang[i].TongTien; //cập nhật lại thanh toán = tổng tiền
                                    ListPhieuGiaoHang[i].ConLai      = 0;                             // cập nhật còn lại  = 0;
                                    ListPhieuGiaoHang[i].TTThanhToan = 1;                             // đã thanh toán
                                    if (KH != null)
                                    {
                                        #region ghi nhật ký nhập kho để xem báo cáo
                                        khNhatKyCongNo nhatky = new khNhatKyCongNo();
                                        nhatky.NgayNhap    = DateTime.Now;
                                        nhatky.DienGiai    = "Thanh toán";
                                        nhatky.NoDau       = KH.CongNo;
                                        nhatky.NhapHang    = 0;
                                        nhatky.GiamGia     = 0;
                                        nhatky.TraHang     = 0;
                                        nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                                        nhatky.ThanhToan   = TienNoDonHang;
                                        nhatky.NoCuoi      = KH.CongNo - TienNoDonHang;
                                        nhatky.NhanVienID  = Formats.IDUser();
                                        nhatky.SoPhieu     = ListPhieuGiaoHang[i].MaPhieu;
                                        nhatky.IDKhachHang = IDKhachHang;
                                        DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                                        DBDataProvider.DB.SubmitChanges();
                                        #endregion
                                        KH.CongNo    -= TienNoDonHang; // - công nợ
                                        KH.ThanhToan += TienNoDonHang;
                                    }
                                    SoTienThu -= TienNoDonHang;
                                }
                                else // Thanh toán 1 phần đơn hàng
                                {
                                    ListPhieuGiaoHang[i].ThanhToan += SoTienThu; // cộng phần còn lại vào thanh toán.
                                    ListPhieuGiaoHang[i].ConLai     = ListPhieuGiaoHang[i].TongTien - ListPhieuGiaoHang[i].ThanhToan; // cập nhật phần còn lại
                                    //ListPhieuGiaoHang[i].TTThanhToan = 1;// đã thanh toán

                                    if (KH != null)
                                    {
                                        #region ghi nhật ký nhập kho để xem báo cáo
                                        khNhatKyCongNo nhatky = new khNhatKyCongNo();
                                        nhatky.NgayNhap    = DateTime.Now;
                                        nhatky.DienGiai    = "Thanh toán";
                                        nhatky.NoDau       = KH.CongNo;
                                        nhatky.NhapHang    = 0;
                                        nhatky.TraHang     = 0;
                                        nhatky.ThanhToan   = SoTienThu;
                                        nhatky.GiamGia     = 0;
                                        nhatky.NoCuoi      = KH.CongNo - SoTienThu;
                                        nhatky.NhanVienID  = Formats.IDUser();
                                        nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                                        nhatky.SoPhieu     = ListPhieuGiaoHang[i].MaPhieu;
                                        nhatky.IDKhachHang = IDKhachHang;
                                        DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                                        DBDataProvider.DB.SubmitChanges();
                                        #endregion
                                        KH.CongNo    -= SoTienThu; // - công nợ
                                        KH.ThanhToan += SoTienThu;
                                    }
                                    SoTienThu -= SoTienThu;
                                }
                                i++;
                            }
                        }
                        else
                        {
                            // trừ công nợ thẳng.

                            if (KH != null)
                            {
                                #region ghi nhật ký nhập kho để xem báo cáo
                                khNhatKyCongNo nhatky = new khNhatKyCongNo();
                                nhatky.NgayNhap    = DateTime.Now;
                                nhatky.DienGiai    = "Thanh toán";
                                nhatky.NoDau       = KH.CongNo;
                                nhatky.NhapHang    = 0;
                                nhatky.TraHang     = 0;
                                nhatky.GiamGia     = 0;
                                nhatky.ThanhToan   = SoTienThu;
                                nhatky.NoCuoi      = KH.CongNo - SoTienThu;
                                nhatky.NhanVienID  = Formats.IDUser();
                                nhatky.SoPhieu     = "";
                                nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                                nhatky.IDKhachHang = IDKhachHang;
                                DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                                DBDataProvider.DB.SubmitChanges();
                                #endregion
                                KH.CongNo    -= SoTienThu; // - công nợ
                                KH.ThanhToan += SoTienThu;
                            }
                        }
                    }
                    else
                    {
                        // trừ theo phiếu
                        int             IDPhieuGiaoHang = int.Parse(ccbPhieuThanhToan.Value.ToString());
                        ghPhieuGiaoHang PhieuGH         = DBDataProvider.DB.ghPhieuGiaoHangs.Single(x => x.IDPhieuGiaoHang == IDPhieuGiaoHang);

                        if (KH != null)
                        {
                            #region ghi nhật ký nhập kho để xem báo cáo
                            khNhatKyCongNo nhatky = new khNhatKyCongNo();
                            nhatky.NgayNhap    = DateTime.Now;
                            nhatky.DienGiai    = "Thanh toán";
                            nhatky.NoDau       = KH.CongNo;
                            nhatky.NhapHang    = 0;
                            nhatky.TraHang     = 0;
                            nhatky.GiamGia     = 0;
                            nhatky.MaPhieu     = DBDataProvider.STTPhieuThanhToan_DaiLy(IDKhachHang);
                            nhatky.ThanhToan   = PhieuGH.ConLai;
                            nhatky.NoCuoi      = KH.CongNo - PhieuGH.ConLai;
                            nhatky.NhanVienID  = Formats.IDUser();
                            nhatky.SoPhieu     = PhieuGH.MaPhieu;
                            nhatky.IDKhachHang = IDKhachHang;
                            DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                            DBDataProvider.DB.SubmitChanges();
                            #endregion
                            KH.CongNo    -= PhieuGH.ConLai;// - công nợ
                            KH.ThanhToan += PhieuGH.TongTien;
                        }
                        PhieuGH.ThanhToan   = PhieuGH.TongTien;
                        PhieuGH.ConLai      = 0;
                        PhieuGH.TTThanhToan = 1;
                    }

                    DBDataProvider.DB.SubmitChanges();
                    scope.Complete();
                    // Reset();
                    cbpThanhToan.JSProperties["cp_Reset"] = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
        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;
                }
            }
        }
        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();
        }