public void Nhap() { do { HoaDonBan hoadb = new HoaDonBan(); IFHoaDonBanBLL hdb = new HoaDonBanBLL(); HoaDonBanBLL hdbbll = new HoaDonBanBLL(); IFNhanVienBLL inv = new NhanVienBLL(); NhanVienBLL nvbll = new NhanVienBLL(); FormNhanVien fnv = new FormNhanVien(); FormHangHoa fhh = new FormHangHoa(); IFHangHoaBLL ihh = new HangHoaBLL(); HangHoaBLL hhbll = new HangHoaBLL(); HoaDonBan HDB; CTHoaDonBan cthdb = new CTHoaDonBan(); IFCTHoaDonBanBLL icthdn = new CTHoaDonBanBLL(); FormHoaDonNhap fhdn = new FormHoaDonNhap(); IFCTHoaDonNhapBLL ictn = new CTHoaDonNhapBLL(); Console.Clear(); IO.BoxTitle(" NHẬP THÔNG TIN HÓA ĐƠN BÁN", 1, 1, 14, 100); IO.Writexy("Mã nhân viên bán:", 5, 4); IO.Writexy("Ngày bán:", 40, 4); IO.Writexy("------------Nhập chi tiết hóa đơn bán----------------", 2, 5); IO.Writexy("Mã hàng:", 5, 6); IO.Writexy("Số lượng: ", 30, 6); IO.Writexy("Đơn vị tính:", 50, 6); IO.Writexy("Giá bán:", 70, 6); IO.Writexy("Thành tiền:", 5, 7); IO.Writexy("-----------------Tổng thanh toán----------------------", 2, 9); IO.Writexy("Tổng hóa đơn:", 5, 10); IO.Writexy("--------------------------------------------------------------------------------------------------", 2, 11); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 12); fnv.Hien(1, 16, inv.XemDSNhanVien(), 5, 0); do { hoadb.manvban = int.Parse(IO.ReadNumber(24, 4)); if (hoadb.manvban < 0) { IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 12); } else { if (nvbll.KiemTra(hoadb.manvban) == false) { IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Không tồn tại mã nhân viên này!", 5, 12); } else { break; } } } while (hoadb.manvban < 0 || nvbll.KiemTra(hoadb.manvban) == false); IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 12); do { hoadb.ngayban = IO.ReadString(50, 4); if (hoadb.ngayban == null) { IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 12); } } while (hoadb.ngayban == null); IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 12); hdb.ThemHoaDonBan(hoadb); while (true) { HDB = hdbbll.ReturnKey(hoadb.manvban, hoadb.ngayban); cthdb.mahdb = HDB.mahdb; IO.Clear(5, 16, 99, ConsoleColor.Black); fhh.Hien(1, 16, ihh.XemDSHangHoa(), 5, 0); do { IO.Clear(13, 6, 5, ConsoleColor.Black); cthdb.mahang = int.Parse(IO.ReadNumber(14, 6)); if (cthdb.mahang < 0) { IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 12); } else { if (hhbll.KiemTra(cthdb.mahang) == false) { IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Không tồn tại mã hàng này!", 5, 12); } else { break; } } } while (cthdb.mahang < 0 || hhbll.KiemTra(cthdb.mahang) == false); IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 12); do { IO.Clear(39, 6, 5, ConsoleColor.Black); cthdb.soluong = int.Parse(IO.ReadNumber(40, 6)); if (cthdb.soluong < 0) { IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 12); } } while (cthdb.soluong < 0); IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 12); IO.Clear(5, 16, 99, ConsoleColor.Black); fhdn.HienCT(1, 16, ictn.XemDSCTHoaDonNhap(), 5, 0); do { IO.Clear(62, 6, 5, ConsoleColor.Black); cthdb.donvi = IO.ReadString(63, 6); if (cthdb.donvi == null) { IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 12); } } while (cthdb.donvi == null); IO.Clear(5, 12, 80, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 12); HangHoa ghh = hhbll.ReturnGiaBan(cthdb.mahang); IO.Writexy(ghh.giaban.ToString(), 79, 6); cthdb.giaban = ghh.giaban; IO.Writexy(cthdb.thanhtien.ToString(), 17, 7); icthdn.ThemCTHoaDonBan(cthdb); HangHoa hh = ihh.LayHangHoa(cthdb.mahang); if (hhbll.KiemTra(cthdb.mahang) == true) { hhbll.TruSL(hh, cthdb.soluong); } else { cthdb.soluong = cthdb.soluong; } IO.Writexy("Nhấn B/b để nhập tiếp. Nhấn phím bất kỳ để dừng nhập!", 5, 8); ConsoleKeyInfo b = Console.ReadKey(); if (b.KeyChar != 'b') { break; } } IO.Writexy(hdbbll.TinhTong(cthdb.mahdb).ToString(), 19, 10); hoadb.tongtien = hdbbll.TinhTong(cthdb.mahdb); Console.SetCursorPosition(55, 12); ConsoleKeyInfo kt = Console.ReadKey(); if (kt.Key == ConsoleKey.Escape) { HienChucNang(); } else if (kt.Key == ConsoleKey.X) { Hien(1, 16, hdb.XemDSHoaDonBan(), 5, 1); } else if (kt.Key == ConsoleKey.Enter) { hdb.XoaHoaDonBan(cthdb.mahdb); hdb.ThemHoaDonBan(hoadb); Hien(1, 16, hdb.XemDSHoaDonBan(), 5, 0); } } while (true); }
public void Sua() { do { IFHangHoaBLL hanghoa = new HangHoaBLL(); HangHoaBLL hhbll = new HangHoaBLL(); NhaCCBLL ccbl = new NhaCCBLL(); Console.Clear(); IO.BoxTitle(" SỬA THÔNG TIN HÀNG HÓA", 1, 1, 10, 100); IO.Writexy("Mã HH:", 3, 4); IO.Writexy("Tên hàng:", 55, 4); IO.Writexy("Mã NCC:", 5, 5); IO.Writexy("Đợt:", 5, 6); IO.Writexy("NSX:", 15, 6); IO.Writexy("HSD:", 40, 6); IO.Writexy("Số lượng nhập:", 5, 7); IO.Writexy("Số lượng còn:", 30, 7); IO.Writexy("Giá nhập:", 50, 7); IO.Writexy("Giá bán:", 70, 7); IO.Writexy("--------------------------------------------------------------------------------------------------", 2, 8); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); Hien(1, 13, hanghoa.XemDSHangHoa(), 5, 0); int mahh; string tenhang; int mancc; int đot; string nsx; string hsd; int sln; int slc; double gianhap; double giaban; do { mahh = int.Parse(IO.ReadNumber(10, 4)); if (mahh < 0 || hhbll.KiemTra(mahh) == false) { IO.Clear(5, 8, 80, ConsoleColor.Black); IO.Writexy("Không tồn tại mã hàng này. Vui lòng kiểm tra lại!", 5, 9); } } while (mahh < 0 || hhbll.KiemTra(mahh) == false); HangHoa hh = hanghoa.LayHangHoa(mahh); IO.Writexy(hh.tenhang, 65, 4); IO.Writexy(hh.mancc.ToString(), 20, 5); IO.Writexy(hh.đot.ToString(), 11, 6); IO.Writexy(hh.NSX, 20, 6); IO.Writexy(hh.HSD, 45, 6); IO.Writexy(hh.slnhapve.ToString(), 20, 7); IO.Writexy(hh.slhienco.ToString(), 44, 7); IO.Writexy(hh.gianhap.ToString(), 60, 7); IO.Writexy(hh.giaban.ToString(), 79, 7); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { tenhang = IO.ReadString(65, 4); if (tenhang == null) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } } while (tenhang == null); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { mancc = int.Parse(IO.ReadNumber(20, 5)); if (mancc <= 0) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } else { if (ccbl.KiemTra(hh.mancc) == false) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Không tồn tại mã nhà cung cấp này!", 5, 9); } else { break; } } } while (mancc <= 0 || ccbl.KiemTra(mancc) == false); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { đot = int.Parse(IO.ReadNumber(11, 6)); if (đot <= 0) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } else { if (hhbll.KiemTraDotHH(đot, tenhang) == true) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Đợt nhập này đã tồn tại!", 5, 9); } else { break; } } } while (đot <= 0 || hhbll.KiemTraDotHH(đot, tenhang) == true); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { nsx = IO.ReadString(20, 6); if (nsx == null) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } } while (nsx == null); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { hsd = IO.ReadString(45, 6); if (hsd == null) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } } while (hsd == null); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { IO.Clear(19, 7, 4, ConsoleColor.Black); sln = int.Parse(IO.ReadNumber(20, 7)); if (sln < 0) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } } while (sln < 0); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { slc = int.Parse(IO.ReadNumber(44, 7)); if (sln <= 0) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } } while (slc < 0); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { gianhap = double.Parse(IO.ReadNumber(60, 7)); if (gianhap <= 0) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } } while (gianhap < 0); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); do { giaban = double.Parse(IO.ReadNumber(79, 7)); if (giaban <= 0) { IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 9); } } while (giaban < 0); IO.Clear(5, 9, 60, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9); IO.Clear(5, 8, 80, ConsoleColor.Black); IO.Writexy("Enter để cập nhật, Esc để thoát, X để xem chi tiết...", 5, 8); IO.Clear(1, 13, 80, ConsoleColor.Black); Console.SetCursorPosition(58, 8); ConsoleKeyInfo kt = Console.ReadKey(); if (kt.Key == ConsoleKey.Escape) { HienChucNang(); } else if (kt.Key == ConsoleKey.X) { Hien(1, 13, hanghoa.XemDSHangHoa(), 5, 1); } else if (kt.Key == ConsoleKey.Enter) { hanghoa.SuaHangHoa(hh); Hien(1, 13, hanghoa.XemDSHangHoa(), 5, 1); } } while (true); }