Пример #1
0
        private void Save()
        {
            var KT = DBDataProvider.DB.khKhachHangs.Where(x => x.MaKhachHang == txtMaKH.Text).Count();

            if (KT == 0)
            {
                khKhachHang kh = new khKhachHang();
                kh.MaKhachHang     = txtMaKH.Text;
                kh.LoaiKhachHangID = Convert.ToInt32(ccbLoaiKH.Value.ToString());
                kh.MaSoThue        = txtMaSoThue.Text;
                kh.HoTen           = txtTenKH.Text;
                kh.Email           = txtEmail.Text;
                kh.DiaChi          = txtDiaChi.Text;
                kh.DienThoai       = txtDienThoai.Text;
                kh.GhiChu          = txtGhiChu.Text;
                kh.NgayTao         = DateTime.Now;
                kh.LanCuoiMuaHang  = DateTime.Now;
                kh.TongTienHang    = 0;
                kh.TienTraHang     = 0;
                kh.CongNo          = 0;
                kh.DaXoa           = 0;
                kh.IDBangGia       = 1;// bảng giá chung
                kh.ThanhToan       = 0;
                DBDataProvider.DB.khKhachHangs.InsertOnSubmit(kh);
                DBDataProvider.DB.SubmitChanges();
            }
            else
            {
            }
        }
Пример #2
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;
                }
            }
        }
Пример #3
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;
                }
            }
        }
        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();
        }
Пример #5
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;
                }
            }
        }
Пример #6
0
        private 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 = "PN";
                    string MAX = (DBDataProvider.DB.kPhieuTraHangs.Count() + 1).ToString();
                    for (int i = 1; i < (7 - MAX.Length); i++)
                    {
                        strMaPhieu += "0";
                    }
                    MaPhieu = strMaPhieu + MAX;
                    int IDDaiLy   = Int32.Parse(ccbNhaCungCap.Value.ToString());
                    int IDSoPhieu = 0;
                    if (ccbSoPhieu.Text != "")
                    {
                        IDSoPhieu = Int32.Parse(ccbSoPhieu.Value.ToString());
                    }

                    // insert kPhieuTraHang
                    kPhieuTraHang phieutra = new kPhieuTraHang();
                    phieutra.MaPhieu      = MaPhieu;
                    phieutra.DaiLyID      = IDDaiLy;
                    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.DuyetDonHang = 0; // 0 chưa duyệt , 1 đã duyệt
                    phieutra.ConLai       = ckGiamCongNo.Checked == true ? TongTien : 0;
                    phieutra.HinhThucTT   = ckGiamCongNo.Checked == true ? 1 : 0;
                    DBDataProvider.DB.kPhieuTraHangs.InsertOnSubmit(phieutra);
                    DBDataProvider.DB.SubmitChanges();
                    int IDPhieuTraHang = phieutra.IDPhieuTraHang;
                    foreach (var prod in listReceiptProducts)
                    {
                        // insert Chi tiet
                        kPhieuTraHangChiTiet chitiet = new kPhieuTraHangChiTiet();
                        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.kPhieuTraHangChiTiets.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 = "Đại lý trả hàng #" + MaPhieu;
                        //    thekho.Nhap = prod.SoLuong;
                        //    thekho.Xuat = 0;
                        //    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 == IDDaiLy).FirstOrDefault();
                    if (Supplier != null)
                    {
                        //    #region ghi nhật ký nhập kho để xem báo cáo
                        //    if (ckGiamCongNo.Checked == true)// giảm công nợ
                        //    {
                        //        khNhatKyCongNo nhatky = new khNhatKyCongNo();
                        //        nhatky.NgayNhap = DateTime.Now;
                        //        nhatky.DienGiai = "Đại lý trả hàng ";
                        //        nhatky.NoDau = Supplier.CongNo;
                        //        nhatky.NhapHang = 0;
                        //        nhatky.TraHang = ConLai;
                        //        nhatky.NoCuoi = Supplier.CongNo - ConLai;
                        //        nhatky.ThanhToan = 0;
                        //        nhatky.NhanVienID = Formats.IDUser();
                        //        nhatky.SoPhieu = MaPhieu;
                        //        nhatky.IDKhachHang = IDDaiLy;
                        //        DBDataProvider.DB.khNhatKyCongNos.InsertOnSubmit(nhatky);
                        //        DBDataProvider.DB.SubmitChanges();

                        //        Supplier.CongNo -= ConLai;
                        //        Supplier.LanCuoiMuaHang = DateTime.Now;
                        //    }
                        //    #endregion
                        //    Supplier.TienTraHang += TongTien;
                        phieutra.CongNoCu = Supplier.CongNo;
                    }

                    DBDataProvider.DB.SubmitChanges();
                    scope.Complete();
                    Reset();
                    cbpInfoImport.JSProperties["cp_Reset"] = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
Пример #7
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 = "PN";
                        string MAX = (DBDataProvider.DB.kPhieuTraHangs.Count() + 1).ToString();
                        for (int i = 1; i < (7 - MAX.Length); i++)
                        {
                            strMaPhieu += "0";
                        }
                        MaPhieu = strMaPhieu + MAX;
                        int IDDaiLy   = Int32.Parse(ccbNhaCungCap.Value.ToString());
                        int IDSoPhieu = 0;
                        if (ccbSoPhieu.Text != "")
                        {
                            IDSoPhieu = Int32.Parse(ccbSoPhieu.Value.ToString());
                        }

                        // insert kPhieuTraHang
                        kPhieuTraHang phieutra = new kPhieuTraHang();
                        phieutra.MaPhieu      = MaPhieu;
                        phieutra.DaiLyID      = IDDaiLy;
                        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.DuyetDonHang = 0; // 0 chưa duyệt , 1 đã duyệt
                        phieutra.ConLai       = ckGiamCongNo.Checked == true ? TongTien : 0;
                        phieutra.HinhThucTT   = ckGiamCongNo.Checked == true ? 1 : 0;
                        DBDataProvider.DB.kPhieuTraHangs.InsertOnSubmit(phieutra);
                        DBDataProvider.DB.SubmitChanges();
                        int IDPhieuTraHang = phieutra.IDPhieuTraHang;
                        foreach (var prod in listReceiptProducts)
                        {
                            // insert Chi tiet
                            kPhieuTraHangChiTiet chitiet = new kPhieuTraHangChiTiet();
                            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.kPhieuTraHangChiTiets.InsertOnSubmit(chitiet);
                        }
                        //update công nợ
                        khKhachHang Supplier = DBDataProvider.DB.khKhachHangs.Where(x => x.IDKhachHang == IDDaiLy).FirstOrDefault();
                        if (Supplier != null)
                        {
                            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;
                }
            }
        }