Beispiel #1
0
        public void TimMa()
        {
            int mancc = 0;

            do
            {
                Console.Clear();
                IFNhaCCBLL nhacc = new NhaCCBLL();
                NhaCCBLL   NCBLL = new NhaCCBLL();
                Console.Clear();
                IO.BoxTitle("                          TÌM KIẾM NHÀ CUNG CẤP THEO MÃ", 1, 1, 5, 100);
                IO.Writexy("Nhập mã nhà cung cấp cần tìm:", 5, 4);
                Hien(1, 8, nhacc.XemDSNhaCC(), 5, 0);
                do
                {
                    mancc = int.Parse(IO.ReadNumber(35, 4));
                    if (mancc < 0 || NCBLL.KiemTra(mancc) == false)
                    {
                        IO.Clear(35, 4, 60, ConsoleColor.Black);
                        IO.Writexy("Không tồn tại mã nhà cung cấp này. Vui lòng kiểm tra lại!", 5, 6);
                    }
                    else
                    {
                        List <NCC> list = nhacc.TimNhaCC(new NCC(mancc, null, null, null));
                        Hien(1, 8, list, 5, 1);
                    }
                } while (mancc < 0 || NCBLL.KiemTra(mancc) == false);
            } while (true);
        }
Beispiel #2
0
        public void Xoa()
        {
            int mancc = 0;

            do
            {
                Console.Clear();
                IFNhaCCBLL nhacc = new NhaCCBLL();
                NhaCCBLL   NCBLL = new NhaCCBLL();
                Console.Clear();
                IO.BoxTitle("                                  XÓA NHÀ CUNG CẤP", 1, 1, 5, 100);
                IO.Writexy("Nhập mã nhà cung cấp cần xóa:", 5, 4);
                Hien(1, 8, nhacc.XemDSNhaCC(), 5, 0);
                do
                {
                    mancc = int.Parse(IO.ReadNumber(35, 4));
                    if (mancc < 0 || NCBLL.KiemTra(mancc) == false)
                    {
                        IO.Clear(35, 4, 60, ConsoleColor.Black);
                        IO.Writexy("Không tồn tại mã nahf cung cấp này. Vui lòng kiểm tra lại!", 5, 6);
                    }
                    else
                    {
                        nhacc.XoaNhaCC(mancc);
                    }
                    Console.Clear();
                    Hien(1, 8, nhacc.XemDSNhaCC(), 5, 1);
                } while (mancc < 0 || NCBLL.KiemTra(mancc) == false);
            } while (true);
        }
Beispiel #3
0
        public void TimTen()
        {
            string tenncc = "";

            do
            {
                Console.Clear();
                IFNhaCCBLL nhacc = new NhaCCBLL();
                NhaCCBLL   NCBLL = new NhaCCBLL();
                Console.Clear();
                IO.BoxTitle("                               TÌM KIẾM NHÀ CUNG CẤP THEO TÊN", 1, 1, 5, 100);
                IO.Writexy("Nhập tên nhà cung cấp cần tìm:", 5, 4);
                Hien(1, 8, nhacc.XemDSNhaCC(), 5, 0);
                do
                {
                    tenncc = IO.ReadString(35, 4);
                    if (tenncc == null || NCBLL.KiemTraTen(tenncc) == false)
                    {
                        IO.Clear(35, 4, 60, ConsoleColor.Black);
                        IO.Writexy("Không tồn tại tên nhà cung cấp này. Vui lòng kiểm tra lại!", 5, 6);
                    }
                    else
                    {
                        List <NCC> list = nhacc.TimNhaCC(new NCC(0, tenncc, null, null));
                        Hien(1, 8, list, 5, 1);
                    }
                } while (tenncc == null || NCBLL.KiemTraTen(tenncc) == false);
            } while (true);
        }
Beispiel #4
0
        public void Xem()
        {
            IFNhaCCBLL nhacc = new NhaCCBLL();

            Console.Clear();
            Hien(1, 1, nhacc.XemDSNhaCC(), 5, 1);
            HienChucNang();
        }
Beispiel #5
0
        public void Sua()
        {
            IFNhaCCBLL nhacc = new NhaCCBLL();
            NhaCCBLL   NCBLL = new NhaCCBLL();

            Console.Clear();
            IO.BoxTitle("                                   SỬA THÔNG TIN NHÀ CUNG CẤP", 1, 1, 10, 100);
            IO.Writexy("Mã nhà cung cấp:", 5, 4);
            IO.Writexy("Tên nhà cung cấp:", 40, 4);
            IO.Writexy("Địa chỉ:", 5, 6);
            IO.Writexy("Số điện thoại:", 40, 6);
            IO.Writexy("--------------------------------------------------------------------------------------------------", 2, 7);
            IO.Writexy("Enter để cập nhật, Esc để thoát, X để xem chi tiết...", 5, 8);
            Hien(1, 12, nhacc.XemDSNhaCC(), 5, 0);

            int    mancc;
            string tenncc;
            string diachi;
            string sdt;

            do
            {
                mancc = int.Parse(IO.ReadNumber(23, 4));
                if (mancc < 0 || NCBLL.KiemTra(mancc) == false)
                {
                    IO.Clear(5, 8, 60, ConsoleColor.Black);
                    IO.Writexy("Không tồn tại mã nhà cung cấp này. Vui lòng kiểm tra lại!", 5, 8);
                }
            } while (mancc < 0 || NCBLL.KiemTra(mancc) == false);
            NCC nc = nhacc.LayNCC(mancc);

            IO.Writexy(nc.tenncc, 58, 4);
            IO.Writexy(nc.diachi, 14, 6);
            IO.Writexy(nc.sdt, 55, 6);

            tenncc = IO.ReadString(58, 4);
            if (tenncc != nc.tenncc && tenncc != null)
            {
                nc.tenncc = tenncc;
            }
            diachi = IO.ReadString(14, 6);
            if (diachi != nc.diachi && diachi != null)
            {
                nc.diachi = diachi;
            }
            sdt = IO.ReadNumber(55, 6);
            if (sdt != nc.sdt && sdt == null)
            {
                nc.sdt = sdt;
            }

            Console.SetCursorPosition(58, 8);
            ConsoleKeyInfo kt = Console.ReadKey();

            if (kt.Key == ConsoleKey.Escape)
            {
                HienChucNang();
            }
            else if (kt.Key == ConsoleKey.X)
            {
                Hien(1, 13, nhacc.XemDSNhaCC(), 5, 1);
            }
            else if (kt.Key == ConsoleKey.Enter)
            {
                nhacc.SuaNhaCC(nc);
                Hien(1, 13, nhacc.XemDSNhaCC(), 5, 1);
            }
            HienChucNang();
        }
Beispiel #6
0
 public void Nhap()
 {
     do
     {
         IFNhaCCBLL nhacc = new NhaCCBLL();
         Console.Clear();
         IO.BoxTitle("                                    NHẬP THÔNG TIN NHÀ CUNG CẤP", 1, 1, 10, 100);
         IO.Writexy("Tên nhà cung cấp:", 5, 4);
         IO.Writexy("Địa chỉ:", 5, 6);
         IO.Writexy("Số điện thoại:", 55, 6);
         IO.Writexy("--------------------------------------------------------------------------------------------------", 2, 7);
         IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 8);
         Hien(1, 13, nhacc.XemDSNhaCC(), 5, 0);
         NCC nc = new NCC();
         do
         {
             nc.tenncc = IO.ReadString(25, 4);
             if (nc.tenncc == null)
             {
                 IO.Clear(5, 8, 80, ConsoleColor.Black);
                 IO.Writexy("Nhập sai. Xin xui lòng nhập lại!", 5, 8);
             }
         } while (nc.tenncc == null);
         IO.Clear(5, 8, 80, ConsoleColor.Black);
         IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 8);
         do
         {
             nc.diachi = IO.ReadString(14, 6);
             if (nc.diachi == null)
             {
                 IO.Clear(5, 8, 80, ConsoleColor.Black);
                 IO.Writexy("Nhập sai. Xin xui lòng nhập lại!", 5, 8);
             }
         } while (nc.diachi == null);
         IO.Clear(5, 8, 80, ConsoleColor.Black);
         IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 8);
         do
         {
             nc.sdt = IO.ReadNumber(70, 6);
             if (nc.sdt == null)
             {
                 IO.Clear(5, 8, 80, ConsoleColor.Black);
                 IO.Writexy("Nhập sai. Xin xui lòng nhập lại!", 5, 8);
             }
         } while (nc.sdt == null);
         Console.SetCursorPosition(55, 8);
         ConsoleKeyInfo kt = Console.ReadKey();
         if (kt.Key == ConsoleKey.Escape)
         {
             HienChucNang();
         }
         else if (kt.Key == ConsoleKey.X)
         {
             Hien(1, 13, nhacc.XemDSNhaCC(), 5, 1);
         }
         else if (kt.Key == ConsoleKey.Enter)
         {
             nhacc.ThemNhaCC(nc);
         }
     } while (true);
 }
Beispiel #7
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);
        }
        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);
        }
        public void Nhap()//Tạo giao diện Nhap.
        {
            do
            {
                IFHangHoaBLL      hanghoa  = new HangHoaBLL();
                HangHoa           hh       = new HangHoa();
                HangHoaBLL        hhbll    = new HangHoaBLL();
                NhaCCBLL          ccbl     = new NhaCCBLL();
                FormHoaDonNhap    fhdn     = new FormHoaDonNhap();
                IFCTHoaDonNhapBLL ctn      = new CTHoaDonNhapBLL();
                IFHoaDonNhapBLL   hdn      = new HoaDonNhapBLL();
                CTHoaDonNhapBLL   cthdnbll = new CTHoaDonNhapBLL();
                Console.Clear();
                IO.BoxTitle("                                    NHẬP 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);

                fhdn.HienCT(1, 13, ctn.XemDSCTHoaDonNhap(), 5, 0);
                do
                {
                    hh.mahh = int.Parse(IO.ReadNumber(10, 4));
                    if (hh.mahh < 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.KiemTra(hh.mahh) == true)
                        {
                            IO.Clear(5, 9, 60, ConsoleColor.Black);
                            IO.Writexy("Mã hàng này đã tồn tại!", 5, 9);
                        }
                        else
                        {
                            break;
                        }
                    }
                } while (hh.mahh < 0 || hhbll.KiemTra(hh.mahh) == true);
                IO.Clear(5, 9, 60, ConsoleColor.Black);
                IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9);
                do
                {
                    hh.tenhang = IO.ReadString(65, 4);
                    if (hh.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 (hh.tenhang == null);

                IO.Clear(5, 9, 60, ConsoleColor.Black);
                IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9);
                IO.Clear(1, 13, 60, ConsoleColor.Black);
                fhdn.Hien(1, 13, hdn.XemDSHoaDonNhap(), 5, 0);
                do
                {
                    hh.mancc = int.Parse(IO.ReadNumber(20, 5));
                    if (hh.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 (hh.mancc <= 0 || ccbl.KiemTra(hh.mancc) == false);
                IO.Clear(5, 9, 60, ConsoleColor.Black);
                IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9);
                IO.Clear(1, 13, 60, ConsoleColor.Black);
                fhdn.HienCT(1, 13, ctn.XemDSCTHoaDonNhap(), 5, 0);
                do
                {
                    hh.đot = int.Parse(IO.ReadNumber(11, 6));
                    if (hh.đ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(hh.đot, hh.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 (hh.đot <= 0 || hhbll.KiemTraDotHH(hh.đot, hh.tenhang) == true);

                IO.Clear(5, 9, 60, ConsoleColor.Black);
                IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9);
                CTHoaDonNhap ctdn = cthdnbll.ReturnDotNhap(hh.tenhang, hh.đot);
                IO.Writexy(ctdn.NSX.ToString(), 20, 6);
                hh.NSX = ctdn.NSX;
                IO.Writexy(ctdn.HSD.ToString(), 45, 6);
                hh.HSD = ctdn.HSD;
                IO.Writexy(ctdn.soluong.ToString(), 20, 7);
                hh.slnhapve = ctdn.soluong;
                IO.Writexy(ctdn.soluong.ToString(), 44, 7);
                hh.slhienco = ctdn.soluong;
                IO.Writexy(ctdn.gianhap.ToString(), 60, 7);
                hh.gianhap = ctdn.gianhap;

                do
                {
                    hh.giaban = double.Parse(IO.ReadNumber(79, 7));
                    if (hh.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 (hh.giaban < 0);
                IO.Clear(5, 9, 60, ConsoleColor.Black);
                IO.Writexy("Enter để nhập, Esc để thoát, X để xem chi tiết...", 5, 9);

                Console.SetCursorPosition(54, 9);
                ConsoleKeyInfo kt = Console.ReadKey();
                if (kt.Key == ConsoleKey.Escape)
                {
                    HienChucNang();//Quay về màn hình chính.
                }
                else if (kt.Key == ConsoleKey.X)
                {
                    Hien(1, 13, hanghoa.XemDSHangHoa(), 5, 1);//Hiện danh sách.
                }
                else if (kt.Key == ConsoleKey.Enter)
                {
                    hanghoa.ThemHangHoa(hh);// Sau khi nhập xong chuyển đối tượng hh sang hanghoa của tầng business.
                    IO.Clear(1, 13, 60, ConsoleColor.Black);
                    Hien(1, 17, hanghoa.XemDSHangHoa(), 5, 0);
                }
            } while (true);
        }