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 Nhap() { do { IFHoaDonNhapBLL hdn = new HoaDonNhapBLL(); HoaDonNhapBLL hdnbll = new HoaDonNhapBLL(); IFCTHoaDonNhapBLL ctn = new CTHoaDonNhapBLL(); HoaDonNhap hoadn = new HoaDonNhap(); HoaDonNhap HDN; HoaDonNhapBLL nbll = new HoaDonNhapBLL(); CTHoaDonNhap cthdn = new CTHoaDonNhap(); CTHoaDonNhapBLL ctnb = new CTHoaDonNhapBLL(); FormNhaCC fcc = new FormNhaCC(); IFNhaCCBLL icc = new NhaCCBLL(); NhaCCBLL ccbll = new NhaCCBLL(); IFNhanVienBLL invbll = new NhanVienBLL(); NhanVienBLL nvbll = new NhanVienBLL(); FormNhanVien fnv = new FormNhanVien(); Console.Clear(); IO.BoxTitle(" NHẬP THÔNG TIN HÓA ĐƠN NHẬP", 1, 1, 17, 100); IO.Writexy("Mã nhà cung cấp:", 5, 4); IO.Writexy("Nhân viên giao:", 5, 5); IO.Writexy("Mã nhân viên nhận:", 40, 5); IO.Writexy("Ngày nhận: ", 5, 6); IO.Writexy("--------------------------------------------------", 2, 7); IO.Writexy("Mã hàng:", 5, 8); IO.Writexy("Tên hàng:", 30, 8); IO.Writexy("Đợt nhập:", 5, 9); IO.Writexy("NSX:", 20, 9); IO.Writexy("HSD:", 40, 9); IO.Writexy("Số lượng:", 25, 10); IO.Writexy("Đơn vị:", 40, 10); IO.Writexy("Đơn giá nhập:", 5, 11); IO.Writexy("Thành tiền:", 40, 11); IO.Writexy("---------Tổng thanh toán-----------------------------", 2, 13); IO.Writexy("Tổng tiền:", 5, 14); IO.Writexy("--------------------------------------------------------------------------------------------------", 2, 15); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); fcc.Hien(1, 18, icc.XemDSNhaCC(), 5, 0); do { hoadn.mancc = int.Parse(IO.ReadNumber(22, 4)); if (hoadn.mancc < 0) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } else { if (ccbll.KiemTra(hoadn.mancc) == false) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Không tồn tại mã nhà cung cấp này!", 5, 16); } else { break; } } } while (hoadn.mancc < 0 || ccbll.KiemTra(hoadn.mancc) == false); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { hoadn.nvgiao = IO.ReadString(21, 5); if (hoadn.nvgiao == null) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (hoadn.nvgiao == null); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); IO.Clear(1, 18, 99, ConsoleColor.Black); fnv.Hien(1, 18, invbll.XemDSNhanVien(), 5, 0); do { hoadn.manvnhan = int.Parse(IO.ReadNumber(59, 5)); if (hoadn.manvnhan < 0) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } else { if (nvbll.KiemTra(hoadn.manvnhan) == false) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Không tồn tại mã nhân viên này!", 5, 16); } else { break; } } } while (hoadn.manvnhan < 0 || nvbll.KiemTra(hoadn.manvnhan) == false); IO.Clear(5, 16, 80, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { hoadn.ngaynhan = IO.ReadString(15, 6); if (hoadn.ngaynhan == null) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (hoadn.ngaynhan == null); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); hdn.ThemHoaDonNhap(hoadn); while (true) { HDN = nbll.ReturnKey(hoadn.mancc, hoadn.nvgiao, hoadn.manvnhan, hoadn.ngaynhan); cthdn.mahdn = HDN.mahdn; do { IO.Clear(13, 8, 5, ConsoleColor.Black); cthdn.mahang = int.Parse(IO.ReadNumber(14, 8)); if (cthdn.mahang < 0) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } else { if (ctnb.KiemTraMaHang(cthdn.mahdn, cthdn.mahang) == true) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Mã này đã tồn tại!", 5, 16); } else { break; } } } while (cthdn.mahang < 0 || ctnb.KiemTraMaHang(cthdn.mahdn, cthdn.mahang) == true); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { IO.Clear(12, 9, 5, ConsoleColor.Black); cthdn.tenhang = IO.ReadString(39, 8); if (cthdn.tenhang == null) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } else { if (ctnb.KiemTraTen(cthdn.mahdn, cthdn.tenhang) == true) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Mặt hàng này đã tồn tại!", 5, 16); } else { break; } } } while (cthdn.tenhang == null || ctnb.KiemTraTen(cthdn.mahdn, cthdn.tenhang) == true); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { IO.Clear(13, 9, 5, ConsoleColor.Black); cthdn.đot = int.Parse(IO.ReadNumber(14, 9)); if (cthdn.đot < 0 || ctnb.KiemTraDot(cthdn.tenhang, cthdn.đot) == true) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (cthdn.đot < 0 || ctnb.KiemTraDot(cthdn.tenhang, cthdn.đot) == true); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { IO.Clear(24, 9, 5, ConsoleColor.Black); cthdn.NSX = IO.ReadString(25, 9); if (cthdn.NSX == null) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (cthdn.NSX == null); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { IO.Clear(44, 9, 5, ConsoleColor.Black); cthdn.HSD = IO.ReadString(45, 9); if (cthdn.HSD == null) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (cthdn.HSD == null); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { IO.Clear(34, 10, 5, ConsoleColor.Black); cthdn.soluong = int.Parse(IO.ReadNumber(35, 10)); if (cthdn.soluong < 0) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (cthdn.soluong < 0); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { IO.Clear(46, 10, 5, ConsoleColor.Black); cthdn.donvi = IO.ReadString(47, 10); if (cthdn.donvi == null) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (cthdn.donvi == null); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); do { IO.Clear(18, 11, 9, ConsoleColor.Black); cthdn.gianhap = double.Parse(IO.ReadNumber(19, 11)); if (cthdn.gianhap < 0) { IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Nhập sai. Xin vui lòng nhập lại!", 5, 16); } } while (cthdn.gianhap < 0); IO.Clear(5, 16, 99, ConsoleColor.Black); IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 16); IO.Writexy(cthdn.thanhtien.ToString(), 51, 11); ctn.ThemCTHoaDonNhap(cthdn); IO.Writexy("Nhấn B/b để nhập tiếp. Nhấn phím bất kỳ để dừng nhập!", 5, 12); ConsoleKeyInfo b = Console.ReadKey(); if (b.KeyChar != 'b') { break; } } IO.Writexy(hdnbll.TinhTong(cthdn.mahdn).ToString(), 17, 14); hoadn.tongtien = hdnbll.TinhTong(cthdn.mahdn); Console.SetCursorPosition(55, 8); ConsoleKeyInfo kt = Console.ReadKey(); if (kt.Key == ConsoleKey.Escape) { HienChucNang(); } else if (kt.Key == ConsoleKey.X) { Hien(1, 18, hdn.XemDSHoaDonNhap(), 5, 1); } else if (kt.Key == ConsoleKey.Enter) { hdn.XoaHoaDonNhap(cthdn.mahdn); hdn.ThemHoaDonNhap(hoadn); Hien(1, 18, hdn.XemDSHoaDonNhap(), 5, 0); } } while (true); }