Exemplo n.º 1
0
        private void btnXoaSach_Click_1(object sender, EventArgs e)
        {
            CT_PhieuNhapSach_DTO c = new CT_PhieuNhapSach_DTO();

            c.MaSach      = int.Parse(txtMaSach.Text);
            c.MaPNS       = int.Parse(txtMaPhieuNhapCT.Text);
            c.SoLuongNhap = int.Parse(txtSoLuong.Text);
            c.DonGiaNhap  = UInt64.Parse(txtDonGiaNhap.Text);
            DataTable dt2           = ThamSo_BUS.SelectSoLuongTon(c.MaSach);
            int       luongTon      = int.Parse(dt2.Rows[0].ItemArray[4].ToString());
            int       soLuongTonNew = luongTon - int.Parse(txtSoLuong.Text);
            Sach_DTO  s             = new Sach_DTO();

            s.MaSach     = int.Parse(txtMaSach.Text);
            s.SoLuongTon = soLuongTonNew;
            Sach_BUS.UpdateSoLuongTon(s);

            PhieuNhapSach_DTO p = new PhieuNhapSach_DTO();

            p.MaPNS = int.Parse(txtMaPhieuNhapCT.Text);
            PhieuNhapSach_BUS.LayTien(p);
            p.TongTien = p.TongTien - ((UInt64)c.SoLuongNhap * c.DonGiaNhap);
            PhieuNhapSach_BUS.updateTien(p);
            HienThiCTPhieuNhap();
            //dgvPhieuNhap = new DataGridView();
            lblTongtien.Text = "" + p.TongTien;

            if (PhieuNhapSach_BUS.XoaMotSachtrongPhieu(c) == "Success")
            {
                MessageBox.Show("Xóa thành công");
            }
            HienThiCTPhieuNhap();
            //HienThiDanhSachPhieuNhap();
        }
Exemplo n.º 2
0
        private void btnThayDoi_Click(object sender, EventArgs e)
        {
            DataTable dt = ThamSo_BUS.GetThamSoAll();//Lấy tất cả tham số trong bảng THAMSO
            int       maThamSo;

            if (dt.Rows.Count == 0)//Kiểm tra xem trong bảng THAMSO đã có dữ liệu hay chưa
            {
                MessageBox.Show("Bạn phải khôi phục về mặc định trước khi thay đổi");
                btnMacDinh_Click(sender, e);
                return;
            }
            else
            {
                maThamSo = int.Parse(dt.Rows[0].ItemArray[0].ToString());//Gán bằng giá trị đầu tiên của đối tượng dt chính là MaThamSo trong bảng THAMSO
            }
            ThamSo_DTO ts = new ThamSo_DTO();

            ts.MaThamSo = maThamSo;

            if (chkApDungQD4.Checked == true)
            {
                ts.ApDungQuyDinh4 = 1;
            }
            else
            {
                ts.ApDungQuyDinh4 = 0;
            }

            try
            {
                ts.SoLuongNhapToiThieu = UInt32.Parse(txtSoLuongNhapToiThieu.Text);
                ts.SoLuongTonToiDa     = UInt32.Parse(txtSoLuongTonToiDa.Text);
                ts.SoTienNoToiDa       = UInt64.Parse(txtSoTienNoToiDa.Text);
                ts.SoLuongTonToiThieu  = UInt32.Parse(txtSoLuongTonToiThieu.Text);
                ts.TiLeTinhDonGiaBan   = UInt32.Parse(txtTiLeTinhDonGiaBan.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Bạn phải nhập vào tất cả các tham số");
                return;
            }
            catch (OverflowException)
            {
                MessageBox.Show("Số không được âm");
                return;
            }
            //Kiểm tra xem việc thay đổi có thành công hay không
            string ketQua = ThamSo_BUS.CapNhat(ts);

            if (ketQua == "Success")
            {
                MessageBox.Show("Thay đổi thành công");
            }
            else
            {
                MessageBox.Show(ketQua, "Lỗi");
            }
            HienThiGiaTriHienTai();
        }
Exemplo n.º 3
0
        private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int dong = e.RowIndex;

            txtMaKhachHang.Text = dgvPhieuThuTien.Rows[dong].Cells[1].Value.ToString();
            txtMaPhieuThu.Text  = dgvPhieuThuTien.Rows[dong].Cells[0].Value.ToString();
            txtSoTien.Text      = dgvPhieuThuTien.Rows[dong].Cells[3].Value.ToString();
            luusotienthu        = UInt64.Parse(dgvPhieuThuTien.Rows[dong].Cells[3].Value.ToString());
            DataTable dt2    = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienno = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            txtSoTienNo.Text = tienno.ToString();
        }
Exemplo n.º 4
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            HoaDon_DTO hd = new HoaDon_DTO();

            try
            {
                hd.MaKhachHang  = int.Parse(txtMaKhachHang.Text);
                hd.TenKhachHang = tenKH;
            }
            catch (FormatException)
            {
                MessageBox.Show("Phải chọn mã khách hàng từ danh sách khách hàng");
                btnMaKhachHang_Click(sender, e);
                return;
            }
            hd.TongTien  = 0;
            hd.ThanhToan = 0;
            hd.ConLai    = 0;
            //Vì trong sql ngày lưu dạng MM-dd-yy nên ta cần chuyển sang định dạng này mới lưu ngày chính sách được
            dtpNgayLapHD.Format       = DateTimePickerFormat.Custom;
            dtpNgayLapHD.CustomFormat = "MM-dd-yy";
            hd.NgayLap          = dtpNgayLapHD.Text;
            dtpNgayLapHD.Format = DateTimePickerFormat.Short;

            DataTable dt      = ThamSo_BUS.GetThamSoAll();
            UInt64    noToiDa = UInt64.Parse(dt.Rows[0].ItemArray[4].ToString());//Số tiền nợ tối đa

            DataTable dt2    = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienNo = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            if (tienNo > noToiDa)
            {
                MessageBox.Show("Số tiền nợ đã vượt quá số tiền nợ tối đa");
                return;
            }
            else
            {
                if (HoaDon_BUS.ThemHoaDon(hd) == false)
                {
                    MessageBox.Show("Thêm thất bại");
                    return;
                }
                HienThiDanhSachHoaDon();
                txtMaHoaDonCT.Text    = txtMaHoaDon.Text;
                txtMaKhachHangCT.Text = txtMaKhachHangCT.Text;
                //this.Size = new Size(1132, 632);
            }
        }
Exemplo n.º 5
0
        private void btnMacDinh_Click(object sender, EventArgs e)
        {
            txtSoLuongNhapToiThieu.Text = "150";
            txtSoLuongTonToiThieu.Text  = "20";
            txtSoLuongTonToiDa.Text     = "300";
            txtSoTienNoToiDa.Text       = "20000";
            txtTiLeTinhDonGiaBan.Text   = "105";
            chkApDungQD4.Checked        = true;

            int       maThamSo;
            DataTable dt = ThamSo_BUS.GetThamSoAll();//Lấy tất cả tham số trong bảng THAMSO

            //Kiểm tra xem trong dt trả về có dữ liệu hay không
            if (dt.Rows.Count == 0)
            {
                maThamSo = 0;
            }
            else
            {
                maThamSo = int.Parse(dt.Rows[0].ItemArray[0].ToString());//Gán bằng giá trị đầu tiên của đối tượng dt chính là MaThamSo trong bảng THAMSO
            }

            ThamSo_DTO ts = new ThamSo_DTO();

            ts.MaThamSo            = maThamSo;
            ts.SoLuongNhapToiThieu = UInt32.Parse(txtSoLuongNhapToiThieu.Text);
            ts.SoLuongTonToiDa     = UInt32.Parse(txtSoLuongTonToiDa.Text);
            ts.SoTienNoToiDa       = UInt64.Parse(txtSoTienNoToiDa.Text);
            ts.SoLuongTonToiThieu  = UInt32.Parse(txtSoLuongTonToiThieu.Text);
            ts.TiLeTinhDonGiaBan   = UInt32.Parse(txtTiLeTinhDonGiaBan.Text);
            ts.ApDungQuyDinh4      = 1;
            //Kiểm tra thử khôi phục mặc định có thành công không
            string ketQua = ThamSo_BUS.Update(ts);

            if (ketQua == "Success")
            {
                MessageBox.Show("Đã khôi phục về mặc định!");
            }
            else
            {
                MessageBox.Show(ketQua);
            }
            HienThiGiaTriHienTai();
        }
Exemplo n.º 6
0
        public void HienThiGiaTriHienTai()
        {
            DataTable dt = ThamSo_BUS.GetThamSoAll();

            if (dt.Rows.Count > 0)
            {
                txtSoLuongNhapToiThieuCu.Text = dt.Rows[0].ItemArray[1].ToString();
                txtSoLuongTonToiThieuCu.Text  = dt.Rows[0].ItemArray[2].ToString();
                txtSoLuongTonToiDaCu.Text     = dt.Rows[0].ItemArray[3].ToString();
                txtSoTienNoToiDaCu.Text       = dt.Rows[0].ItemArray[4].ToString();
                int check = int.Parse(dt.Rows[0].ItemArray[5].ToString());
                if (check == 1)
                {
                    chkApDungQD4.Checked = true;
                }
                else
                {
                    chkApDungQD4.Checked = false;
                }
            }
        }
Exemplo n.º 7
0
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            // Kiểm tra xem có mã sách trong bảng CT_HOADON không
            try
            {
                if (PhieuNhapSach_DAO.KiemtramaSachCoTonTai(int.Parse(txtMaSach.Text), int.Parse(txtMaPhieuNhapCT.Text)))
                {
                    MessageBox.Show("Không có mã sách mà bạn cần sửa");
                    return;
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Mã sách không được để trống");
                return;
            }

            DataTable            dt      = ThamSo_BUS.GetThamSoAll();
            int                  nhapMin = int.Parse(dt.Rows[0].ItemArray[1].ToString());
            CT_PhieuNhapSach_DTO ct      = new CT_PhieuNhapSach_DTO();

            try
            {
                if (int.Parse(txtSoLuong.Text) < nhapMin)
                {
                    MessageBox.Show(string.Format("Số lượng phải lớn hơn số lượng quy định ({0} quyển)", nhapMin));
                    return;
                }
                else
                {
                    ct.SoLuongNhap = int.Parse(txtSoLuong.Text);
                }
            }
            catch (OverflowException)
            {
                MessageBox.Show("Số lượng nhập không được là số âm");
                return;
            }

            ct.MaPNS      = int.Parse(txtMaPhieuNhapCT.Text);
            ct.MaSach     = int.Parse(txtMaSach.Text);
            ct.TenSach    = txtTenSach.Text;
            ct.TenTheLoai = txtTheLoai.Text;
            try
            {
                ct.DonGiaNhap = UInt64.Parse(txtDonGiaNhap.Text);
            }
            catch (OverflowException)
            {
                MessageBox.Show("Số lượng nhập không được là số âm");
                return;
            }
            //ct.SoLuongNhap = int.Parse(txtSoLuong.Text);
            ct.ThanhTien = (UInt64)ct.SoLuongNhap * ct.DonGiaNhap;

            DataTable dt2             = ThamSo_BUS.SelectSoLuongTon(ct.MaSach);
            int       luongTonhientai = int.Parse(dt2.Rows[0].ItemArray[4].ToString());
            int       soluongbandau   = PhieuNhapSach_BUS.SoLuongNhap(int.Parse(txtMaSach.Text));
            int       soluongthaydoi  = int.Parse(txtSoLuong.Text);
            int       soLuongTonNew;

            if (soluongbandau > soluongthaydoi)
            {
                soLuongTonNew = luongTonhientai - (soluongbandau - soluongthaydoi);
            }
            else
            {
                soLuongTonNew = luongTonhientai + (soluongthaydoi - soluongbandau);
            }
            //int soLuongTonNew = luongTon - int.Parse(txtSoLuong.Text);
            Sach_DTO s = new Sach_DTO();

            s.MaSach     = int.Parse(txtMaSach.Text);
            s.SoLuongTon = soLuongTonNew;
            Sach_BUS.UpdateSoLuongTon(s);

            string ketQua = PhieuNhapSach_BUS.SuaNhapSach(ct);

            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua, "Lỗi");
                return;
            }
            MessageBox.Show("Cập nhật thành công");

            // Cập nhật lại tổng tiền bên PhieuNhapSach
            PhieuNhapSach_DTO p = new PhieuNhapSach_DTO();

            p.MaPNS = int.Parse(txtMaPhieuNhapCT.Text);
            PhieuNhapSach_BUS.CapNhatTongTien(p);
            lblTongtien.Text = "" + p.TongTien;
            HienThiCTPhieuNhap();
        }
Exemplo n.º 8
0
        private void btnBoSung_Click(object sender, EventArgs e)
        {
            DataTable dt = ThamSo_BUS.GetThamSoAll();

            if (dt.Rows.Count != 0)
            {
                int nhapMin     = int.Parse(dt.Rows[0].ItemArray[1].ToString());
                int luongTonMax = int.Parse(dt.Rows[0].ItemArray[3].ToString());
                //int tiLeDonGiaBan = int.Parse(dt.Rows[0].ItemArray[1].ToString());
                CT_PhieuNhapSach_DTO c = new CT_PhieuNhapSach_DTO();
                try
                {
                    c.MaPNS = int.Parse(txtMaPhieuNhap.Text);
                }
                catch (FormatException)
                {
                    MessageBox.Show("Mã phiếu nhập không được để trống");
                    return;
                }
                try
                {
                    c.MaSach     = int.Parse(txtMaSach.Text);
                    c.TenSach    = txtTenSach.Text;
                    c.TenTheLoai = txtTheLoai.Text;
                }
                catch (FormatException)
                {
                    MessageBox.Show("Mã sách không được để trống");
                    return;
                }
                try
                {
                    if (int.Parse(txtSoLuong.Text) < nhapMin)
                    {
                        MessageBox.Show(string.Format("Số lượng phải lớn hơn số lượng quy định ({0} quyển)", nhapMin));
                        return;
                    }
                    else
                    {
                        c.SoLuongNhap = int.Parse(txtSoLuong.Text);
                    }
                }
                catch (FormatException)
                {
                    MessageBox.Show("Số lượng phải là kiểu số");
                    return;
                }
                try
                {
                    if (txtDonGiaNhap.Text != "")
                    {
                        c.DonGiaNhap = UInt64.Parse(txtDonGiaNhap.Text);
                    }
                    else
                    {
                        MessageBox.Show("Đơn giá nhập không được để trống");
                        return;
                    }
                }
                catch (FormatException)
                {
                    MessageBox.Show("Đơn giá nhập phải là kiểu số");
                    return;
                }
                DataTable dt2           = ThamSo_BUS.SelectSoLuongTon(c.MaSach);
                int       luongTon      = int.Parse(dt2.Rows[0].ItemArray[4].ToString());
                int       soLuongTonNew = luongTon + int.Parse(txtSoLuong.Text);
                c.ThanhTien = (UInt64)c.SoLuongNhap * c.DonGiaNhap;
                if (luongTon < luongTonMax)
                {
                    string ketQua = PhieuNhapSach_BUS.ThemChiTietPhieuNhap(c);
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                    }
                    else
                    {
                        Sach_DTO s = new Sach_DTO();
                        s.MaSach     = int.Parse(txtMaSach.Text);
                        s.SoLuongTon = soLuongTonNew;
                        Sach_BUS.UpdateSoLuongTon(s);

                        PhieuNhapSach_DTO p = new PhieuNhapSach_DTO();
                        p.MaPNS = int.Parse(txtMaPhieuNhapCT.Text);
                        PhieuNhapSach_BUS.CapNhatTongTien(p);
                        HienThiCTPhieuNhap();
                        MessageBox.Show("Thành công");
                        //dgvPhieuNhap = new DataGridView();
                        lblTongtien.Text = "" + p.TongTien;
                        //HienThiDanhSachPhieuNhap();
                    }
                }
                else
                {
                    MessageBox.Show("Chỉ nhập các đầu sách có lượng tồn ít hơn theo quy định");
                }
            }
            else
            {
                MessageBox.Show("Không lấy được các tham số");
                return;
            }
        }
Exemplo n.º 9
0
        public void CapNhat()
        {
            PhieuThuTien_DTO pt = new PhieuThuTien_DTO();

            pt.MaPT = int.Parse(txtMaPhieuThu.Text);

            dtpNgayThuTien.Format       = DateTimePickerFormat.Custom;
            dtpNgayThuTien.CustomFormat = "MM-dd-yy";
            pt.NgayLap            = dtpNgayThuTien.Text;
            dtpNgayThuTien.Format = DateTimePickerFormat.Short;

            try
            {
                int kh = int.Parse(txtMaKhachHang.Text);
                pt.MaKhachHang = kh;
            }
            catch (FormatException)
            {
                MessageBox.Show("Mã khách hàng không được bỏ trống");
                return;
            }
            DataTable dt        = ThamSo_BUS.GetThamSoAll();
            int       ktchophep = int.Parse(dt.Rows[0].ItemArray[6].ToString());
            DataTable dt2       = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienno    = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());
            UInt64    tienthu   = 0;

            try
            {
                pt.SoTienThu = UInt64.Parse(txtSoTien.Text);
                tienthu      = UInt64.Parse(txtSoTien.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Số tiền thu chưa nhập đúng quy định");
                return;
            }
            catch (OverflowException)
            {
                MessageBox.Show("Số tiền thu không được âm");
                return;
            }
            if (ktchophep == 1)
            {
                if (tienno < tienthu)
                {
                    MessageBox.Show("Tiền thu đã lớn hơn tiền khách hàng đang nợ");
                    return;
                }
            }
            UInt64 tienthunew = (tienthu - luusotienthu);
            UInt64 tiennonew  = (UInt64)(tienno) - tienthunew;

            string ketQua = PhieuThuTien_BUS.SuaPhieuThu(pt);

            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua, "Lỗi");
            }
            else
            {
                KhachHang_DTO kh = new KhachHang_DTO();
                kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                kh.SoTienNo    = tiennonew;
                KhachHang_BUS.UpdateTienNo(kh);
                MessageBox.Show("Thành công");
                HienThiPhieuThu();
            }
        }
Exemplo n.º 10
0
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            // kiểm tra xem khách hàng này đã thanh toán sách chưa, nếu chưa mới cho phép cập nhật
            if (int.Parse(txtDaThanhToan.Text) != 0)
            {
                MessageBox.Show("Hóa đơn này đã thanh toán một phần tiền! \nBạn không được cập nhật lại số lượng sách!");
                return;
            }

            // Kiểm tra xem có mã sách trong bảng CT_HOADON không
            if (HoaDon_DAO.KiemtramaSach(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text)))
            {
                MessageBox.Show("Không có mã sách mà bạn cần sửa");
                return;
            }
            // cập nhật tồn sách
            string    ketQua;
            DataTable dt3             = ThamSo_BUS.SelectSoLuongTon(int.Parse(txtMaSach.Text));
            int       luongTonHienTai = int.Parse(dt3.Rows[0].ItemArray[4].ToString());
            int       soLuongthaydoi  = int.Parse(txtSoLuong.Text);
            int       soLuonglucdau   = HoaDon_BUS.SoLuongKHMua(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text));
            int       soluongtonnew;

            if (soLuongthaydoi > soLuonglucdau)
            {
                soluongtonnew = luongTonHienTai - (soLuongthaydoi - soLuonglucdau);
            }
            else
            {
                soluongtonnew = luongTonHienTai + (soLuonglucdau - soLuongthaydoi);
            }
            Sach_DTO s = new Sach_DTO();

            s.MaSach     = int.Parse(txtMaSach.Text);
            s.SoLuongTon = (int)soluongtonnew;
            ketQua       = Sach_BUS.UpdateSoLuongTon(s);
            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            // cập nhật tiền nợ của khách
            // Lấy ra tiền nợ đang có của khách hàng
            DataTable dt2               = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienNoDangCo      = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());
            UInt64    TienmuaLucdau     = UInt64.Parse(soLuonglucdau.ToString()) * UInt64.Parse(txtDonGia.Text);
            UInt64    TienmuaLucThaydoi = UInt64.Parse(soLuongthaydoi.ToString()) * UInt64.Parse(txtDonGia.Text);
            UInt64    tienNoSaukhiCapNhat;

            // Tính lại tiền nợ của khách khi thay dởi số lượng sách
            if (TienmuaLucdau < TienmuaLucThaydoi)
            {
                tienNoSaukhiCapNhat = tienNoDangCo + (TienmuaLucThaydoi - TienmuaLucdau);
            }
            else
            {
                tienNoSaukhiCapNhat = tienNoDangCo - (TienmuaLucdau - TienmuaLucThaydoi);
            }

            KhachHang_DTO kh = new KhachHang_DTO();

            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
            kh.SoTienNo    = tienNoSaukhiCapNhat;
            string ketQua2 = KhachHang_BUS.UpdateTienNo(kh);

            if (ketQua2 != "Success")
            {
                MessageBox.Show(ketQua2);
                return;
            }


            // Cập nhật số lượng sách
            CT_HoaDon_DTO ct = new CT_HoaDon_DTO();

            ct.MaSach    = int.Parse(txtMaSach.Text);
            ct.MaHD      = int.Parse(txtMaHoaDonCT.Text);
            ct.SoLuong   = uint.Parse(txtSoLuong.Text);
            ct.ThanhTien = TienmuaLucThaydoi;
            ketQua       = HoaDon_BUS.SuaSoLuongSachKHMua(ct);
            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            // Cap nhật lại Tổng tiền và Còn Lại
            HoaDon_DTO hd = new HoaDon_DTO();

            hd.MaHD      = int.Parse(txtMaHoaDon.Text);
            hd.TongTien  = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
            hd.ThanhToan = 0;
            hd.ConLai    = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
            HoaDon_BUS.UpdateTongTien(hd);
            HoaDon_BUS.UpdateConLai(hd);

            //HienThiDanhSachHoaDon();
            HienThiDanhSachChiTietHoaDon();
        }
Exemplo n.º 11
0
        private void btnXoaSach_Click(object sender, EventArgs e)
        {
            // Lấy ra tiền nợ đang có của khách hàng
            if (ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text)) == null)
            {
                MessageBox.Show("Bạn không được xóa sách này, vì khách hàng này đã trả một phần tiền của sách này bên phiếu thu tiền hoặc đã thanh toán trực tiếp!");
                return;
            }
            DataTable dt2          = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienNoDangCo = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            //Lấy ra ThanhTien cua MaSach được chọn để xóa
            UInt64        TiencuaSachDcXoa = HoaDon_BUS.ThanhTienSach(int.Parse(txtMaHoaDonCT.Text), int.Parse(txtMaSach.Text));
            KhachHang_DTO kh = new KhachHang_DTO();

            // Tính lại tiền nợ của khách khi xóa sách
            UInt64 tiennoSaukhiXoaSach = tienNoDangCo - TiencuaSachDcXoa;

            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
            kh.SoTienNo    = tiennoSaukhiXoaSach;
            string ketQua2 = KhachHang_BUS.UpdateTienNo(kh);

            if (ketQua2 != "Success")
            {
                MessageBox.Show("Bạn không được xóa sách này, vì khách hàng này đã trả một phần tiền của sách này bên phiếu thu tiền hoặc đã thanh toán trực tiếp!");
                return;
            }
            // Cập nhật lại tồn sau khi xóa sách
            DataTable dt3             = ThamSo_BUS.SelectSoLuongTon(int.Parse(txtMaSach.Text));
            uint      luongTonHienTai = uint.Parse(dt3.Rows[0].ItemArray[4].ToString());

            uint luongsachdamua = uint.Parse(HoaDon_BUS.SoLuongKHMua(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text)).ToString());

            uint     soluongtonnew = luongTonHienTai + luongsachdamua;
            Sach_DTO s             = new Sach_DTO();

            s.MaSach     = int.Parse(txtMaSach.Text);
            s.SoLuongTon = (int)soluongtonnew;
            ketQua2      = Sach_BUS.UpdateSoLuongTon(s);
            if (ketQua2 != "Success")
            {
                MessageBox.Show(ketQua2);
                return;
            }


            // xóa sách trong CT_HOADON
            string ketQua = HoaDon_BUS.XoaSachtrongCT(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text));

            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            // Cap nhật lại Tổng tiền và Còn Lại
            HoaDon_DTO hd = new HoaDon_DTO();

            if (HoaDon_DAO.KiemtramaHD(int.Parse(txtMaHoaDon.Text)))
            {
                hd.MaHD      = int.Parse(txtMaHoaDon.Text);
                hd.TongTien  = 0;
                hd.ThanhToan = 0;
                hd.ConLai    = 0;
            }
            else
            {
                hd.MaHD      = int.Parse(txtMaHoaDon.Text);
                hd.TongTien  = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
                hd.ThanhToan = 0;
                hd.ConLai    = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
            }

            HoaDon_BUS.UpdateTongTien(hd);
            HoaDon_BUS.UpdateConLai(hd);

            //HienThiDanhSachHoaDon();
            HienThiDanhSachChiTietHoaDon();
        }
Exemplo n.º 12
0
        private void button2_Click(object sender, EventArgs e)
        {
            txtTienTraKhach.Text = "";
            //if (txtConLai.Text == "0")
            //{
            //    try
            //    {
            //        HoaDon_DTO tam = new HoaDon_DTO();
            //        tam.MaHD = int.Parse(txtMaHoaDon.Text);
            //        txtThu.Text = tam.MaHD.ToString();
            //        UInt64 thanhToan = 0;
            //        try
            //        {
            //            thanhToan = UInt64.Parse(txtThanhToan.Text);
            //            tam.ThanhToan = thanhToan;
            //        }
            //        catch (FormatException)
            //        {
            //            MessageBox.Show("Số tiền thanh toán phải là số và không được để trống");
            //            return;
            //        }
            //        UInt64 tongTien = UInt64.Parse(txtTongTien.Text);
            //        if (thanhToan > tongTien)
            //        {
            //            MessageBox.Show("Thanh toán không được lớn hơn tổng tiền");
            //            return;
            //        }
            //        UInt64 conLai = tongTien - thanhToan;
            //        txtConLai.Text = conLai.ToString();


            //        DataTable dt = ThamSo_BUS.GetThamSoAll();
            //        UInt64 noToiDa = UInt64.Parse(dt.Rows[0].ItemArray[4].ToString());
            //        DataTable dt2 = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
            //        UInt64 tienNo = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            //        //if ((conLai + tienNo) > noToiDa)
            //        //{
            //        //    string ketQua = HoaDon_BUS.XoaCTHoaDonByMa(int.Parse(txtMaHoaDon.Text));
            //        //    if (ketQua != "Success")
            //        //    {
            //        //        MessageBox.Show(ketQua);
            //        //        return;
            //        //    }
            //        //    ketQua = HoaDon_BUS.XoaHoaDonByMa(int.Parse(txtMaHoaDon.Text));
            //        //    if (ketQua != "Success")
            //        //    {
            //        //        MessageBox.Show(ketQua);
            //        //        return;
            //        //    }
            //        //    MessageBox.Show("Vì số tiền hóa đơn này cộng với số tiền nợ cũ lớn hơn quy định nợ cho phép nên hóa đơn này sẽ bị hủy. Mong quý khách vui lòng trả nợ!");
            //        //    HienThiDanhSachHoaDon();
            //        //    return;
            //        //}
            //        //else
            //        //{
            //            KhachHang_DTO kh = new KhachHang_DTO();
            //            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
            //            kh.SoTienNo = conLai + tienNo;
            //            string ketQua = KhachHang_BUS.UpdateTienNo(kh);
            //            if (ketQua != "Success")
            //            {
            //                MessageBox.Show(ketQua);
            //                return;
            //            }
            //            MessageBox.Show("Thanh toán thành công");
            //            tam.ConLai = conLai;
            //            HoaDon_BUS.UpdateThanhToan(tam);
            //            HoaDon_BUS.UpdateConLai(tam);
            //        //}
            //    }
            //    catch (FormatException)
            //    {
            //        MessageBox.Show("Thanh toán phải là số và không được để trống");
            //        return;
            //    }
            //    catch (OverflowException)
            //    {
            //        MessageBox.Show("Thanh toán không được âm");
            //        return;
            //    }
            //    HienThiDanhSachHoaDon();
            //    txtThanhToan.Text = "";
            //}
            //else
            //{
            HoaDon_DTO tam = new HoaDon_DTO();

            // lấy mã khách hàng ngay và luôn
            tam.MaHD = int.Parse(txtMaHoaDon.Text);

            UInt64 DaThanhToan = UInt64.Parse(txtDaThanhToan.Text);
            UInt64 ConLai      = UInt64.Parse(txtConLai.Text);
            UInt64 ThanhToan;

            try
            {
                ThanhToan     = UInt64.Parse(txtThanhToan.Text);
                tam.ThanhToan = ThanhToan;
            }

            //try
            //{
            //    ThanhToan = UInt64.Parse(txtThanhToan.Text);

            //}
            catch (FormatException)
            {
                MessageBox.Show("Số tiền thanh toán phải là số và không được để trống");
                return;
            }
            UInt64 tongTien = UInt64.Parse(txtTongTien.Text);

            if (ThanhToan > ConLai)
            {
                tam.ThanhToan       = tongTien;
                tam.ConLai          = 0;
                txtDaThanhToan.Text = tongTien.ToString();
                txtConLai.Text      = "0";
                UInt64 Tientrakhach = ThanhToan - ConLai;
                txtTienTraKhach.Text = Tientrakhach.ToString();
                txtMaHDtra.Text      = txtMaHoaDon.Text;
                //MessageBox.Show("Thanh toán không được lớn hơn số tiền còn lại");
                HoaDon_BUS.UpdateThanhToan(tam);
                HoaDon_BUS.UpdateConLai(tam);

                // update tien no cua khach hang
                KhachHang_DTO kh2 = new KhachHang_DTO();
                kh2.MaKhachHang = int.Parse(txtMaKhachHang.Text);

                DataTable dt3     = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
                UInt64    tienNo2 = UInt64.Parse(dt3.Rows[0].ItemArray[5].ToString());

                kh2.SoTienNo = tienNo2 - ConLai;
                //string ketQua = KhachHang_BUS.UpdateTienNo(kh);
                //txtThu.Text = kh2.SoTienNo.ToString();
                string ketQua2 = KhachHang_BUS.UpdateTienNo(kh2);
                if (ketQua2 != "Success")
                {
                    MessageBox.Show(ketQua2);
                    return;
                }
                HienThiDanhSachHoaDon();
                txtThanhToan.Text = "";
                return;
            }

            // thanh toán tiếp thì Tiền còn lại = Tiền còn lại - Tiền thánh toán thêm
            ConLai              = ConLai - ThanhToan;
            DaThanhToan         = DaThanhToan + ThanhToan;
            tam.ThanhToan       = DaThanhToan;
            tam.ConLai          = ConLai;
            txtDaThanhToan.Text = DaThanhToan.ToString();
            txtConLai.Text      = ConLai.ToString();

            // update tien no cua khach hang
            KhachHang_DTO kh = new KhachHang_DTO();

            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);

            DataTable dt2    = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
            UInt64    tienNo = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            kh.SoTienNo = tienNo - ThanhToan;
            //string ketQua = KhachHang_BUS.UpdateTienNo(kh);
            //txtThu.Text = kh.SoTienNo.ToString();
            string ketQua = KhachHang_BUS.UpdateTienNo(kh);

            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            //Cập nhật lại bảng
            HoaDon_BUS.UpdateThanhToan(tam);
            HoaDon_BUS.UpdateConLai(tam);
            HienThiDanhSachHoaDon();
            txtThanhToan.Text = "";
            //}
        }
Exemplo n.º 13
0
        private void btnBoSung_Click(object sender, EventArgs e)
        {
            // kiểm tra xem khách hàng đã thanh toán sách này chưa, nếu chưa mới cho phép thêm sách
            if (int.Parse(txtDaThanhToan.Text) != 0)
            {
                MessageBox.Show("Hóa đơn này đã thanh toán một phần tiền! \nBạn không được thêm sách!");
                return;
            }

            DataTable dt                = ThamSo_BUS.GetThamSoAll();
            int       noToiDa           = int.Parse(dt.Rows[0].ItemArray[4].ToString());
            int       luongTonSauKhiBan = int.Parse(dt.Rows[0].ItemArray[2].ToString());
            DataTable dt2               = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            int       tienNo            = int.Parse(dt2.Rows[0].ItemArray[5].ToString());

            CT_HoaDon_DTO ct = new CT_HoaDon_DTO();

            try
            {
                ct.MaHD = int.Parse(txtMaHoaDonCT.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Mã hóa đơn không được để trống");
                return;
            }
            try
            {
                ct.MaSach = int.Parse(txtMaSach.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Mã sách phải được chọn từ danh sách");
                btnMaSach_Click(sender, e);
                return;
            }
            try
            {
                ct.SoLuong = uint.Parse(txtSoLuong.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Số lượng mua phải là số và không được để trống");
                return;
            }
            catch (OverflowException)
            {
                MessageBox.Show("Số lượng không được âm");
                return;
            }
            if (tienNo <= noToiDa)
            {
                DataTable dt3      = ThamSo_BUS.SelectSoLuongTon(ct.MaSach);
                uint      luongTon = uint.Parse(dt3.Rows[0].ItemArray[4].ToString());
                uint      luongMua = 0;
                try
                {
                    luongMua = uint.Parse(txtSoLuong.Text);
                }
                catch (FormatException)
                {
                    MessageBox.Show("Số lượng mua phải là số và không được để trống");
                    txtSoLuong.Text   = "";
                    txtThanhTien.Text = "";
                    return;
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Số lượng không được âm");
                    return;
                }
                ct.DonGia         = UInt64.Parse(txtDonGia.Text);
                ct.ThanhTien      = (UInt64)luongMua * ct.DonGia;
                txtThanhTien.Text = ct.ThanhTien.ToString();
                if ((luongTon - luongMua) < luongTonSauKhiBan)
                {
                    MessageBox.Show("Số lượng tồn của sách này sau khi bán đã nhỏ hơn quy định");
                    return;
                }
                string ketQua = HoaDon_BUS.ThemHoaDonChiTiet(ct);
                if (ketQua != "Success")
                {
                    MessageBox.Show(ketQua);
                    txtMaSach.Text  = "";
                    txtSoLuong.Text = "0";
                    txtDonGia.Text  = "";
                    return;
                }
                else
                {
                    uint     soluongtonnew = luongTon - luongMua;
                    Sach_DTO s             = new Sach_DTO();
                    s.MaSach     = int.Parse(txtMaSach.Text);
                    s.SoLuongTon = (int)soluongtonnew;
                    ketQua       = Sach_BUS.UpdateSoLuongTon(s);
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }

                    HoaDon_DTO hd = new HoaDon_DTO();
                    hd.MaHD      = ct.MaHD;
                    hd.TongTien  = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
                    hd.ThanhToan = 0;
                    hd.ConLai    = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
                    HoaDon_BUS.UpdateTongTien(hd);
                    HoaDon_BUS.UpdateConLai(hd);

                    KhachHang_DTO kh = new KhachHang_DTO();
                    kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                    kh.SoTienNo    = UInt64.Parse(tienNo.ToString()) + ct.ThanhTien;
                    string ketQua2 = KhachHang_BUS.UpdateTienNo(kh);
                    if (ketQua2 != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    MessageBox.Show("Thành công");
                    HienThiDanhSachChiTietHoaDon();
                }
            }
            else
            {
                MessageBox.Show("Tiền nợ quý khách đã quá quy định để mua sách");
            }
        }
Exemplo n.º 14
0
        private void btnThanhToan_Click(object sender, EventArgs e)
        {
            try
            {
                UInt64 thanhToan = 0;
                try
                {
                    thanhToan = UInt64.Parse(txtThanhToan.Text);
                }
                catch (FormatException)
                {
                    MessageBox.Show("Số tiền thanh toán phải là số và không được để trống");
                    return;
                }
                UInt64 tongTien = UInt64.Parse(txtTongTien.Text);
                if (thanhToan > tongTien)
                {
                    MessageBox.Show("Thanh toán không được lớn hơn tổng tiền");
                    return;
                }
                UInt64 conLai = tongTien - thanhToan;
                txtConLai.Text = conLai.ToString();


                DataTable dt      = ThamSo_BUS.GetThamSoAll();
                UInt64    noToiDa = UInt64.Parse(dt.Rows[0].ItemArray[5].ToString());
                DataTable dt2     = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
                UInt64    tienNo  = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());
                if ((conLai + tienNo) > noToiDa)
                {
                    string ketQua = HoaDon_BUS.XoaCTHoaDonByMa(int.Parse(txtMaHoaDon.Text));
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    ketQua = HoaDon_BUS.XoaHoaDonByMa(int.Parse(txtMaHoaDon.Text));
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    return;
                }
                else
                {
                    KhachHang_DTO kh = new KhachHang_DTO();
                    kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                    kh.SoTienNo    = conLai + tienNo;
                    string ketQua = KhachHang_BUS.UpdateTienNo(kh);
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    MessageBox.Show("Thanh toán thành công");
                    Close();
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Thanh toán phải là số và không được để trống");
                return;
            }
            catch (OverflowException)
            {
                MessageBox.Show("Thanh toán không được âm");
                return;
            }
        }
Exemplo n.º 15
0
        public void CapNhat()
        {
            PhieuThuTien_DTO pt = new PhieuThuTien_DTO();

            pt.MaPT = int.Parse(txtMaPhieuThu.Text);

            dtpNgayThuTien.Format       = DateTimePickerFormat.Custom;
            dtpNgayThuTien.CustomFormat = "MM-dd-yy";
            pt.NgayLap            = dtpNgayThuTien.Text;
            dtpNgayThuTien.Format = DateTimePickerFormat.Short;

            try
            {
                int kh = int.Parse(txtMaKhachHang.Text);
                pt.MaKhachHang = kh;
            }
            catch (FormatException)
            {
                MessageBox.Show("Mã khách hàng không được bỏ trống");
                return;
            }

            if (int.Parse(txtMaPhieuThu.Text) != PhieuThuTien_BUS.PhieuNhapMoiNhat(int.Parse(txtMaKhachHang.Text)))
            {
                MessageBox.Show("Bạn chỉ được chỉnh sửa phiếu thanh toán mới nhất của khách hàng này." + "\n" + "Mã phiếu thanh toán mới nhất của khách hàng này là: " + PhieuThuTien_BUS.PhieuNhapMoiNhat(int.Parse(txtMaKhachHang.Text)));
                return;
            }

            DataTable dt        = ThamSo_BUS.GetThamSoAll();
            int       ktchophep = int.Parse(dt.Rows[0].ItemArray[5].ToString());
            DataTable dt2       = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienno    = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());
            UInt64    tienthu   = 0;

            try
            {
                pt.SoTienThu = UInt64.Parse(txtSoTien.Text);
                tienthu      = UInt64.Parse(txtSoTien.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Số tiền thu chưa nhập đúng quy định");
                return;
            }
            catch (OverflowException)
            {
                MessageBox.Show("Số tiền thu không được âm");
                return;
            }

            UInt64 tienthunew;
            UInt64 tiennonew;

            if (ktchophep == 1)
            {
                if (tienthu > luusotienthu)
                {
                    //if (ktchophep == 1)
                    //{
                    if (tienno < tienthu - luusotienthu)
                    {
                        MessageBox.Show("Tiền thu đã lớn hơn tiền khách hàng đang nợ");
                        return;
                    }
                    //}
                    tienthunew = (tienthu - luusotienthu);
                    tiennonew  = (UInt64)(tienno) - tienthunew;
                }
                else
                {
                    tienthunew = tienthu;
                    tiennonew  = (UInt64)(tienno) + (luusotienthu - tienthu);
                }

                string ketQua = PhieuThuTien_BUS.SuaPhieuThu(pt);
                if (ketQua != "Success")
                {
                    MessageBox.Show(ketQua, "Lỗi");
                }
                else
                {
                    KhachHang_DTO kh = new KhachHang_DTO();
                    kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                    kh.SoTienNo    = tiennonew;
                    KhachHang_BUS.UpdateTienNo(kh);
                    MessageBox.Show("Thành công");
                    HienThiPhieuThu();
                }
            }
            else
            {
                uint tiennobandau = PhieuThuTien_BUS.LayTienNoBanDau(int.Parse(txtMaPhieuThu.Text));
                if (tienthu > luusotienthu)
                {
                    //if (ktchophep == 1)
                    //{
                    if (tienno < tienthu - luusotienthu)
                    {
                        tiennonew = 0;
                        string ketQua2 = PhieuThuTien_BUS.SuaPhieuThu(pt);
                        if (ketQua2 != "Success")
                        {
                            MessageBox.Show(ketQua2, "Lỗi");
                        }
                        else
                        {
                            KhachHang_DTO kh = new KhachHang_DTO();
                            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                            kh.SoTienNo    = tiennonew;
                            KhachHang_BUS.UpdateTienNo(kh);
                            MessageBox.Show("Thành công");
                            HienThiPhieuThu();
                        }
                        return;
                    }
                    //}
                    tienthunew = (tienthu - luusotienthu);
                    tiennonew  = (UInt64)(tienno) - tienthunew;
                }
                else
                {
                    if (tienno == 0)
                    {
                        tienthunew = tienthu;
                        tiennonew  = tiennobandau - tienthu;
                    }
                    else
                    {
                        tienthunew = tienthu;
                        tiennonew  = (UInt64)(tienno) + (luusotienthu - tienthu);
                    }
                }

                string ketQua = PhieuThuTien_BUS.SuaPhieuThu(pt);
                if (ketQua != "Success")
                {
                    MessageBox.Show(ketQua, "Lỗi");
                }
                else
                {
                    KhachHang_DTO kh = new KhachHang_DTO();
                    kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                    kh.SoTienNo    = tiennonew;
                    KhachHang_BUS.UpdateTienNo(kh);
                    MessageBox.Show("Thành công");
                    HienThiPhieuThu();
                }
            }
        }