Example #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();
        }
Example #2
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();
        }
Example #3
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;
            }
        }
Example #4
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();
        }
Example #5
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();
        }
Example #6
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");
            }
        }