Пример #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 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);
        }