Ejemplo n.º 1
0
        public void XuLyTuyChon(TuyChon tuyChon, DanhSachDanhBa danhSachDanhBa)
        {
            Menu            menuM           = new Menu();
            XuLyChuongTrinh xuLyChuongTrinh = new XuLyChuongTrinh();
            int             menu;
            int             soMenu;

            switch (tuyChon)
            {
            case TuyChon.TimKiem:
                soMenu = menuM.search.Length - 1;
                do
                {
                    menu = ChonMenu(soMenu, menuM.search);
                    if (menu == 1)
                    {
                        return;
                    }
                    xuLyChuongTrinh.XuLyChucNang(tuyChon, menu, danhSachDanhBa);
                } while (menu > 0);
                break;

            case TuyChon.SapXep:
                soMenu = menuM.sort.Length - 1;
                do
                {
                    menu = ChonMenu(soMenu, menuM.sort);
                    if (menu == 1)
                    {
                        return;
                    }
                    xuLyChuongTrinh.XuLyChucNang(tuyChon, menu, danhSachDanhBa);
                } while (menu > 0);
                break;

            case TuyChon.Xoa:
                soMenu = menuM.delete.Length - 1;
                do
                {
                    menu = ChonMenu(soMenu, menuM.delete);
                    if (menu == 1)
                    {
                        return;
                    }
                    xuLyChuongTrinh.XuLyChucNang(tuyChon, menu, danhSachDanhBa);
                } while (menu > 0);
                break;

            case TuyChon.Khac:
                soMenu = menuM.other.Length - 1;
                do
                {
                    menu = ChonMenu(soMenu, menuM.other);
                    if (menu == 1)
                    {
                        return;
                    }
                    xuLyChuongTrinh.XuLyChucNang(tuyChon, menu, danhSachDanhBa);
                } while (menu > 0);
                break;
            }
            ReadLine();
        }
Ejemplo n.º 2
0
        public void XuLyChucNang(XuLyMenu.TuyChon tuyChon, int menu, DanhSachDanhBa danhSachDanhBa)
        {
            Object x;

            switch (tuyChon)
            {
            case XuLyMenu.TuyChon.TimKiem:
                switch (menu)
                {
                case 0:
                    WriteLine("\n Bạn đã lựa chọn đi ngủ.\n\tCÚT");
                    Environment.Exit(0);
                    return;

                case 1:
                    WriteLine("\nQuay về trang trước");
                    return;

                case 2:
                    Clear();
                    WriteLine("\nTìm thành phố có nhiều thuê bao nhất");
                    WriteLine("\nThành phố có nhiều thuê bao nhất");
                    xuLyDuLieuDanhBa.ThanhPhoNhieuThueBaoNhat(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));
                    break;

                case 3:
                    Clear();
                    WriteLine("\nTìm thành phố có ít thuê bao nhất");
                    WriteLine("\nThành phố có ít thuê bao nhất");
                    xuLyDuLieuDanhBa.ThanhPhoItThueBaoNhat(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));
                    break;

                case 4:
                    Clear();
                    WriteLine("\nTìm thuê bao sở hữu ít số điện thoại nhất");
                    WriteLine("\nThuê bao sở hữu ít số điện thoại nhất");
                    xuLyDuLieuDanhBa.ThueBaoItSDTNhat(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));
                    break;

                case 5:
                    Clear();
                    WriteLine("\nTìm thuê bao sở hữu nhiều số điện thoại nhất");
                    WriteLine("\nThuê bao sở hữu nhiều số điện thoại nhất");
                    xuLyDuLieuDanhBa.ThueBaoNhieuSDTNhat(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));
                    break;

                case 6:
                    Clear();
                    WriteLine("\nTìm ngày có nhiều thuê bao đăng ký nhất");
                    WriteLine("\nNgày có nhiều thuê bao đăng ký nhất");
                    result = new Dictionary <int, int>(xuLyDuLieuDanhBa.MinMaxNgayThueBaoDangKy(danhSachDanhBa.thueBao, XuLyDuLieuDanhBa.MinMax.Max));
                    foreach (KeyValuePair <int, int> item in result)
                    {
                        Write("Ngày {0}, ", item.Key);
                    }
                    break;

                case 7:
                    Clear();
                    WriteLine("\nTìm ngày có ít thuê bao đăng ký nhất");
                    WriteLine("\nNgày có ít thuê bao đăng ký nhất");
                    result = new Dictionary <int, int>(xuLyDuLieuDanhBa.MinMaxNgayThueBaoDangKy(danhSachDanhBa.thueBao, XuLyDuLieuDanhBa.MinMax.Min));
                    foreach (KeyValuePair <int, int> item in result)
                    {
                        Write("Ngày {0}, ", item.Key);
                    }
                    break;

                case 8:
                    Clear();
                    WriteLine("\nTìm tháng không có thuê bao nào đăng ký");
                    WriteLine("\nTháng không có thuê bao nào đăng ký");
                    xuLyDuLieuDanhBa.ThangKhongCoThueBaoDangKy(danhSachDanhBa.thueBao).ForEach(x => Write("Tháng {0}, ", x));
                    break;

                case 9:
                    Clear();
                    WriteLine("\nTìm thuê bao theo giới tính");
                    WriteLine("\n Thuê bao theo giới tính Nam");
                    xuLyDuLieuDanhBa.TimThueBaoTheoGioiTinh(danhSachDanhBa.thueBao, GioiTinh.Nam).ForEach(x => WriteLine(x));
                    WriteLine("\n Thuê bao theo giới tính Nữ");
                    xuLyDuLieuDanhBa.TimThueBaoTheoGioiTinh(danhSachDanhBa.thueBao, GioiTinh.Nu).ForEach(x => WriteLine(x));
                    break;

                case 10:
                    Clear();
                    WriteLine("\n\nnTìm thành phố có nhiều thuê bao cố định nhất");
                    WriteLine("\nThành phố có nhiều thuê bao cố định nhất");
                    xuLyDuLieuDanhBa.ThanhPhoNhieuThueBaoCoDinhNhat(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}, ", x));
                    break;

                case 11:
                    Clear();
                    WriteLine("\nTìm thành phố có ít thuê bao cố định nhất");
                    WriteLine("\nTìm thành phố có ít thuê bao cố định nhất");
                    xuLyDuLieuDanhBa.ThanhPhoItThueBaoCoDinhNhat(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}, ", x));
                    break;

                case 12:
                    Clear();
                    WriteLine("\nTìm thành phố có nhiều thuê bao di động nhất");
                    WriteLine("\nThành phố có nhiều thuê bao di động nhất");
                    xuLyDuLieuDanhBa.ThanhPhoNhieuThueBaoDiDong(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}, ", x));
                    break;

                case 13:
                    Clear();
                    WriteLine("\nTìm thành phố có ít thuê bao di động nhất");
                    WriteLine("\nThành phố có ít thuê bao di động nhất");
                    xuLyDuLieuDanhBa.ThanhPhoItThueBaoDiDong(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}, ", x));
                    break;

                case 14:
                    Clear();
                    WriteLine("\nTìm thuê bao sở hữu nhiều số điện thoại cố định nhất");
                    WriteLine("\nThuê bao sở hữu nhiều số điện thoại cố định nhất");
                    xuLyDuLieuDanhBa.ThueBaoNhieuSDTCoDinh(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));;
                    break;

                case 15:
                    Clear();
                    WriteLine("\nTìm thuê bao sở hữu ít số điện thoại cố định nhất");
                    WriteLine("\nThuê bao sở hữu ít số điện thoại cố định nhất");
                    xuLyDuLieuDanhBa.ThueBaoItSDTCoDinh(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));;
                    break;

                case 16:
                    Clear();
                    WriteLine("\nTìm thuê bao sở hữu nhiều số điện thoại di động nhất");
                    WriteLine("\nThuê bao sở hữu nhiều số điện thoại di động nhất");
                    xuLyDuLieuDanhBa.ThueBaoNhieuSDTDiDong(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));;
                    break;

                case 17:
                    Clear();
                    WriteLine("\nTìm thuê bao sở hữu ít số điện thoại di động nhất");
                    WriteLine("\nThuê bao sở hữu ít số điện thoại di động nhất");
                    xuLyDuLieuDanhBa.ThueBaoItSDTDiDong(danhSachDanhBa.thueBao).ForEach(x => Write("{0, 5}", x));;
                    break;

                case 18:
                    Clear();
                    WriteLine("\nTìm tháng không có thuê bao nào đăng ký số cố định");
                    xuLyDuLieuDanhBa.ThangKhongCoDangKyCoDinh(danhSachDanhBa.thueBao).ForEach(x => Write("Tháng {0}, ", x));
                    break;

                case 19:
                    Clear();
                    WriteLine("\nTìm tháng không có thuê bao nào đăng ký số di động");
                    xuLyDuLieuDanhBa.ThangKhongCoDangKyDiDong(danhSachDanhBa.thueBao).ForEach(x => Write("Tháng {0}, ", x));
                    break;

                case 20:
                    Clear();
                    WriteLine("\nTìm thuê bao di động theo giới tính");
                    WriteLine("\n Thuê bao cố định theo giới tính Nam");
                    xuLyDuLieuDanhBa.ThueBaoCoDinhTheoGioiTinh(danhSachDanhBa.thueBao, GioiTinh.Nam).ForEach(x => WriteLine(x));
                    WriteLine("\n Thuê bao cố định theo giới tính Nữ");
                    xuLyDuLieuDanhBa.ThueBaoCoDinhTheoGioiTinh(danhSachDanhBa.thueBao, GioiTinh.Nu).ForEach(x => WriteLine(x));
                    break;

                case 21:
                    Clear();
                    WriteLine("\nTìm thuê bao cố định theo giới tính");
                    WriteLine("\n Thuê bao theo giới tính Nam");
                    xuLyDuLieuDanhBa.ThueBaoDiDongTheoGioiTinh(danhSachDanhBa.thueBao, GioiTinh.Nam).ForEach(x => WriteLine(x));
                    WriteLine("\n Thuê bao theo giới tính Nữ");
                    xuLyDuLieuDanhBa.ThueBaoDiDongTheoGioiTinh(danhSachDanhBa.thueBao, GioiTinh.Nu).ForEach(x => WriteLine(x));
                    break;
                }
                break;

            case XuLyMenu.TuyChon.SapXep:
                switch (menu)
                {
                case 0:
                    WriteLine("\n Bạn đã lựa chọn đi ngủ.\n\tCÚT");
                    Environment.Exit(0);
                    return;

                case 1:
                    WriteLine("\nQuay về trang trước");
                    return;

                case 2:
                    Clear();
                    WriteLine("\nSắp xếp danh sách thuê bao tăng theo họ tên");
                    danhSachDanhBa.XuatThongTinThueBao();
                    WriteLine("\n Danh sách sau khi sắp xếp thuê bao tăng theo họ tên");
                    xuLyDuLieuDanhBa.TangTheoHoTen(danhSachDanhBa.thueBao);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 3:
                    Clear();
                    WriteLine("\nSắp xếp danh sách thuê bao giảm theo họ tên");
                    danhSachDanhBa.XuatThongTinThueBao();
                    WriteLine("\n Danh sách sau khi sắp xếp thuê bao giảm theo họ tên");
                    xuLyDuLieuDanhBa.GiamTheoHoTen(danhSachDanhBa.thueBao);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 4:
                    Clear();
                    WriteLine("\nSắp xếp danh sách thuê bao tăng theo số lượng điện thoại sở hữu");
                    danhSachDanhBa.XuatThongTinThueBao();
                    WriteLine("\n Danh sách sau khi sắp xếp thuê bao tăng theo số lượng điện thoại sở hữu");
                    xuLyDuLieuDanhBa.TangTheoSLDT(danhSachDanhBa.thueBao);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 5:
                    Clear();
                    WriteLine("\nSắp xếp danh sách thuê bao giảm theo số lượng điện thoại sở hữu");
                    danhSachDanhBa.XuatThongTinThueBao();
                    WriteLine("\n Danh sách sau khi sắp xếp thuê bao giảm theo số lượng điện thoại sở hữu");
                    xuLyDuLieuDanhBa.GiamTheoSLDT(danhSachDanhBa.thueBao);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 6:
                    Clear();
                    WriteLine("\nSắp xếp danh sách các thành phố tăng theo số lượng thuê bao");
                    danhSachDanhBa.XuatThongTinThueBao();
                    WriteLine("\n Danh sách sau khi sắp xếp danh sách các thành phố tăng theo số lượng thuê bao");
                    xuLyDuLieuDanhBa.TangThanhPhoTheoSLTB(danhSachDanhBa.thueBao);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 7:
                    Clear();
                    WriteLine("\nSắp xếp danh sách các thành phố giảm theo số lượng thuê bao");
                    danhSachDanhBa.XuatThongTinThueBao();
                    WriteLine("\n Danh sách sau khi sắp xếp danh sách các thành phố giảm theo số lượng thuê bao");
                    xuLyDuLieuDanhBa.GiamThanhPhoTheoSLTB(danhSachDanhBa.thueBao);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;
                }
                break;

            case XuLyMenu.TuyChon.Xoa:
                switch (menu)
                {
                case 0:
                    WriteLine("\n Bạn đã lựa chọn đi ngủ.\n\tCÚT");
                    Environment.Exit(0);
                    return;

                case 1:
                    WriteLine("\nQuay về trang trước");
                    return;

                case 2:
                    Clear();
                    WriteLine("\nXóa thuê bao theo địa chỉ");
                    danhSachDanhBa.XuatThongTinThueBao();
                    Write("\n Nhập vào địa chỉ của thuê bao cần xóa >> ");
                    x = ReadLine();
                    xuLyDuLieuDanhBa.XoaTheoDiaChi(danhSachDanhBa.thueBao, (string)x);
                    WriteLine("\n Danh sách sau khi xóa các thuê bao có địa chỉ {0}", x);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 3:
                    Clear();
                    WriteLine("\nXóa thuê bao theo ngày lắp đặt");
                    danhSachDanhBa.XuatThongTinThueBao();
                    Write("\n Nhập vào ngày lắp đặt của thuê bao cần xóa >> ");
                    x = int.Parse(ReadLine());
                    xuLyDuLieuDanhBa.XoaTheoNgayLapDat(danhSachDanhBa.thueBao, (int)x);
                    WriteLine("\n Danh sách sau khi xóa các thuê bao có ngày lắp đặt là {0}", x);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 4:
                    Clear();
                    WriteLine("\nXóa thuê bao theo nhà dịch vụ");
                    danhSachDanhBa.XuatThongTinThueBao();
                    Write("\n Nhập vào nhà dịch vụ của thuê bao cần xóa >> ");
                    x = ReadLine();
                    xuLyDuLieuDanhBa.XoaTheoNhaDichVu(danhSachDanhBa.thueBao, (string)x);
                    WriteLine("\n Danh sách sau khi xóa các thuê bao có nhà dịch vụ là {0}", x);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;
                }
                break;

            case XuLyMenu.TuyChon.Khac:
                switch (menu)
                {
                case 0:
                    WriteLine("\n Bạn đã lựa chọn đi ngủ.\n\tCÚT");
                    Environment.Exit(0);
                    return;

                case 1:
                    WriteLine("\nQuay về trang trước");
                    return;

                case 2:
                    Clear();
                    WriteLine("\nTất cả khách hàng nào sinh tháng 1 thì được tặng thêm một số điện thoại mới có số là số CMND");
                    danhSachDanhBa.XuatThongTinThueBao();
                    xuLyDuLieuDanhBa.ThemSDTNeuSinhThang1(danhSachDanhBa.thueBao);
                    danhSachDanhBa.XuatThongTinThueBao();
                    break;

                case 3:
                    Clear();
                    WriteLine(@"Thống kê và hiển thị dữ liệu theo từng tỉnh và mỗi tỉnh hiển thị theo thành phố theo mẫu sau
							Tỉnh: Lâm Đồng(tổng số thuê bao: 4)
								Thành Phố: Dalat(tổng số thuê bao: 2)
									1)  001, nguyen van a, 01 PDTV, Dalat, Lam Dong, 123
									2)	002, nguyen van b, 01 PDTV, Dalat, Lam Dong, 123
									Thành phố bảo lộc: (Tổng số thuê bao: 2)
									---Hiển thị danh sách thuê bao ở thành phố bảo lộc ---
									Tỉnh Khánh Hòa(Tổng số….)
										Thành Phố: Nha Trang(tổng số thuê bao:……)
										---Danh sách thuê bao-- - "                                        );
                    xuLyDuLieuDanhBa.ThongKeDuLieu(danhSachDanhBa.thueBao);
                    break;
                }
                break;
            }
            ReadLine();
        }