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(); }
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(); }
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; } }
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(); }
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(); }
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"); } }