예제 #1
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);
        }
예제 #2
0
        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);
        }