Ejemplo n.º 1
0
        public void HienTim()
        {
            Console.BackgroundColor = ConsoleColor.Black;
            do
            {
                Console.Clear();

                IO.BoxTitle("       *** TÌM KIẾM NHÂN VIÊN ***         ", 5, 1, 12, 56);
                IO.Writexy("*     1. Tìm kiếm nhân viên theo mã.       *", 12, 5);
                IO.Writexy("*     2. Tìm kiếm nhân viên theo tên.      *", 12, 6);
                IO.Writexy("*     3. Quay lại.                         *", 12, 7);
                IO.Writexy("*                                          *", 12, 8);
                IO.Writexy("*    Hãy chọn một chức năng để thực hiện!  *", 12, 9);
                IO.Writexy("********************************************", 12, 10);

                FormNhanVien   NV = new FormNhanVien();
                ConsoleKeyInfo kt = Console.ReadKey();
                switch (kt.KeyChar)

                {
                case '1':
                    NV.TimMa();
                    break;

                case '2':
                    NV.TimTen();
                    break;

                case '3':
                    HienChucNang();
                    break;
                }
            } while (true);
        }
Ejemplo n.º 2
0
        public void HienChucNang()
        {
            Console.BackgroundColor = ConsoleColor.Black;
            do
            {
                Console.Clear();

                IO.BoxTitle("   *** CÁC CHỨC NĂNG CỦA NHÂN VIÊN ***         ", 5, 1, 20, 56);
                IO.Writexy("*       1. Thêm nhân viên.                 *", 12, 5);
                IO.Writexy("*                                          *", 12, 6);
                IO.Writexy("*       2. Sửa nhân viên.                  *", 12, 7);
                IO.Writexy("*                                          *", 12, 8);
                IO.Writexy("*       3. Xóa nhân viên.                  *", 12, 9);
                IO.Writexy("*                                          *", 12, 10);
                IO.Writexy("*       4. Xem danh sách nhân viên.        *", 12, 11);
                IO.Writexy("*                                          *", 12, 12);
                IO.Writexy("*       5. Tìm kiếm nhân viên.             *", 12, 13);
                IO.Writexy("*                                          *", 12, 14);
                IO.Writexy("*       6. Quay lại.                       *", 12, 15);
                IO.Writexy("*                                          *", 12, 16);
                IO.Writexy("*    Hãy chọn một chức năng để thực hiện!  *", 12, 17);
                IO.Writexy("********************************************", 12, 19);

                FormNhanVien   NV = new FormNhanVien();
                ConsoleKeyInfo kt = Console.ReadKey();
                switch (kt.KeyChar)

                {
                case '1':
                    NV.Nhap();
                    break;

                case '2':
                    NV.Sua();
                    break;

                case '3':
                    NV.Xoa();
                    break;

                case '4':
                    NV.Xem();
                    break;

                case '5':
                    NV.HienTim();
                    break;

                case '6':
                    FormMenuMain.HienThi();
                    break;
                }
            } while (true);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        public static void HienThi()
        {
            Console.BackgroundColor = ConsoleColor.Black;
            do
            {
                Console.Clear();

                IO.BoxTitle("             *** CÁC CHỨC NĂNG ***         ", 5, 1, 22, 56);
                IO.Writexy("*       1. Hàng hóa.                       *", 12, 5);
                IO.Writexy("*                                          *", 12, 6);
                IO.Writexy("*       2. Nhà cung cấp.                   *", 12, 7);
                IO.Writexy("*                                          *", 12, 8);
                IO.Writexy("*       3. Nhân viên.                      *", 12, 9);
                IO.Writexy("*                                          *", 12, 10);
                IO.Writexy("*       4. Hóa đơn nhập.                   *", 12, 11);
                IO.Writexy("*                                          * ", 12, 12);
                IO.Writexy("*       5. Hóa đơn bán.                    *", 12, 13);
                IO.Writexy("*                                          * ", 12, 14);
                IO.Writexy("*       6. Thống kê.                       *", 12, 15);
                IO.Writexy("*                                          * ", 12, 16);
                IO.Writexy("*       7. Thoát.                          *", 12, 17);
                IO.Writexy("*                                          *", 12, 18);
                IO.Writexy("*    Hãy chọn một chức năng để thực hiện!  *", 12, 19);
                IO.Writexy("********************************************", 12, 20);

                FormHangHoa    hanghoa  = new FormHangHoa();
                FormNhanVien   nhanvien = new FormNhanVien();
                FormNhaCC      nhacc    = new FormNhaCC();
                FormHoaDonNhap hdn      = new FormHoaDonNhap();
                FormHoaDonBan  hdb      = new FormHoaDonBan();
                FormMenuMain   fm       = new FormMenuMain();
                ConsoleKeyInfo kt       = Console.ReadKey();
                switch (kt.KeyChar)

                {
                case '1':
                    hanghoa.HienChucNang();
                    break;

                case '2':
                    nhacc.HienChucNang();
                    break;

                case '3':
                    nhanvien.HienChucNang();
                    break;

                case '4':
                    hdn.HienChucNang();
                    break;

                case '5':
                    hdb.HienChucNang();
                    break;

                case '6':
                    fm.HienChucNang_TK();
                    break;

                case '7':
                    Environment.Exit(0);
                    break;
                }
            } while (true);
        }
Ejemplo n.º 5
0
        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);
        }