Esempio n. 1
0
        // Ham xu ly doc du lieu tu file
        // dau vao : duongdan - duong dan den file du lieu
        // dau ra : du lieu doc duoc duoc them vao doi tuong quanlyphong
        public static void DocDuLieu(string duongdan, QuanLyPhong quanlyphong)
        {
            StreamReader sr = null;

            try
            {
                sr = new StreamReader(duongdan);
                // Doc du lieu danh sach Phong
                DocDSPhong(sr, quanlyphong);
                // Doc du lieu danh sach Don muon phong
                DocDSDonMuonPhong(sr, quanlyphong);
            }
            catch (FileNotFoundException fnx)
            {
                quanlyphong.XoaDuLieu();
                throw fnx;
            }
            catch (XuLyTapTinException ex)
            {
                quanlyphong.XoaDuLieu();
                throw ex;
            }
            finally
            {
                if (sr != null)
                {
                    sr.Close();
                }
            }
        }
Esempio n. 2
0
        // Ham xu ly ghi du lieu vao file
        public static void LuuDuLieu(string duongdan, QuanLyPhong quanlyphong)
        {
            StreamWriter sw = null;

            try
            {
                sw = new StreamWriter(duongdan, false);

                // Luu du lieu phong
                sw.WriteLine(quanlyphong.SoPhong); // luu so luong phong
                sw.WriteLine(quanlyphong.LayDSPhongDeLuuFile());

                // Luu du lieu don muon phong
                sw.WriteLine(quanlyphong.SoDonMuonPhong); // luu so luong don muon phong
                sw.WriteLine(quanlyphong.LayDSDonMPDeLuuFile());
            }
            catch (XuLyTapTinException ex)
            {
                throw ex;
            }
            finally
            {
                if (sw != null)
                {
                    sw.Close();
                }
            }
        }
Esempio n. 3
0
        // Ham xu ly nhap thong tin cho mot don muon phong moi
        static void ThemMotDonMuonMoi()
        {
            Console.WriteLine("\nMoi ban nhap thong tin don muon phong moi :");

            Console.Write("Ten nguoi muon: ");
            string tenNgMuon = Console.ReadLine(); // nhap ten

            if (tenNgMuon == null)
            {
                throw new CtrlZException();                    // neu bam Ctrl+Z thi nem ra ngoai le
            }
            Console.Write("Don vi cong tac: ");
            string dvCongtac = Console.ReadLine(); // nhap don vi cong tac

            if (dvCongtac == null)
            {
                throw new CtrlZException();                    // neu bam Ctrl+Z thi nem ra ngoai le
            }
            string tieude = string.Format("Nha truong co {0} phong", quanlyPhong.SoPhong);

            InMenuCacLoai(tieude, quanlyPhong.LayDSMaPhong()); // in danh sach phong
            string    maphong  = XuLyNhapMaPhong("");          // nhap ma phong
            NgayThang ngayMuon = XuLyNhapNgayMuon();           // nhap ngay muon

            // lay ra danh sach cac tiet chua duoc muon cua phong trong ngay muon do
            List <int> tiettrong = quanlyPhong.LayDSTietTrong(maphong, ngayMuon);

            if (tiettrong.Count == 0) // neu danh sach tren rong
            {
                Console.WriteLine("Phong {0} da duoc muon ca ngay {1}", maphong, ngayMuon);
            }
            else
            {
                Console.Write("Trong ngay {0} tai phong {1}, ban co the muon cac tiet sau: ", ngayMuon, maphong);
                Console.WriteLine(LayChuoiSoTuList(tiettrong)); // in danh sach tren
                Console.WriteLine();

                Console.WriteLine("Moi ban chon cac tiet muon:");
                int tietBDMuon = XuLyNhapTiet("bat dau", 0, tiettrong); // nhap tiet bat dau muon
                // dua tren tiet bat dau muon, loai bo cac tiet khong the chon
                tiettrong = QuanLyPhong.LayDSTietTrong(tiettrong, tietBDMuon);

                if (tiettrong.Count == 0)                            // sau khi loc xong, neu danh sach tiet trong la rong
                {
                    Console.WriteLine("Ban nen bat dau lai tu dau"); // thi khong the chon tiet ket thuc muon
                }
                else
                {
                    Console.Write("Ban chi con co the chon cac tiet sau: ");
                    Console.WriteLine(LayChuoiSoTuList(tiettrong));                   // in lai danh sach moi
                    int tietKTMuon = XuLyNhapTiet("ket thuc", tietBDMuon, tiettrong); // nhap tiet ket thuc muon
                    // them don muon phong moi vao vi tri thich hop
                    // duoc sap theo thu tu cua NgayMuon, TietBDMuon
                    quanlyPhong.ThemDonVoiViTriThichHop(tenNgMuon, dvCongtac, maphong, ngayMuon, tietBDMuon, tietKTMuon);
                }
            }
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            // Kiem tra doi so dong lenh
            // de xac dinh dang cu phap dong lenh
            if (args.Length == 0)
            {
                kieuCP = KieuCuPhap.Dang1; // khi khong co doi so nao thi thuc hien theo dang 1
            }
            else if (args.Length == 1 && args[0] == "-h")
            {
                kieuCP = KieuCuPhap.Dang2; // thuoc dang 2
            }
            else
            {
                // In thong bao loi va hien thi huong dan su dung
                Console.WriteLine("Lenh goi chuong trinh cua ban bi sai");
                kieuCP = KieuCuPhap.Dang2;
            }

            // xu ly theo dang cu phap dong lenh
            switch (kieuCP)
            {
            case KieuCuPhap.Dang1:
                // khoi tao doi tuong quan ly phong
                try
                {
                    // Tao doi tuong va load du lieu tu file data.txt
                    quanlyPhong = new QuanLyPhong();
                    XuLyTapTin.DocDuLieu(QuanLyPhong.DuongDanMacDinh, quanlyPhong);
                }
                catch (FileNotFoundException fx)
                {
                    Console.WriteLine("LOI: Khong tim thay tap tin du lieu");
                    Console.ReadLine();
                }
                catch (XuLyTapTinException ex)
                {
                    Console.WriteLine("LOI: {0}", ex.Message);
                    Console.ReadLine();
                }
                finally
                {
                    quanlyPhong.CoThayDoi = false;
                }

                // Hien thi Menu
                XuLyMenu();
                break;

            case KieuCuPhap.Dang2:
                InHuongDanSuDung();    // In ra huong dan su dung
                Console.ReadKey();     // Cho nguoi sd doc huong dan va bam enter
                Environment.Exit(0);   // roi thoat khoi chuong trinh
                break;
            }
        }
Esempio n. 5
0
        // Ham cho nhap thong tin moi vao cho don muon phong muon sua thong tin
        static void SuaMotDonMP(string madon)
        {
            Console.Write("Ten nguoi muon: ");
            string tenNgMuon = Console.ReadLine(); // nhap ten moi

            if (tenNgMuon == null)
            {
                throw new CtrlZException();
            }
            Console.Write("Don vi cong tac: ");
            string dvCongtac = Console.ReadLine(); // nhap don vi cong tac moi

            if (dvCongtac == null)
            {
                throw new CtrlZException();
            }

            string tieude = string.Format("Nha truong co {0} phong", quanlyPhong.SoPhong);

            InMenuCacLoai(tieude, quanlyPhong.LayDSMaPhong()); // in danh sach phong
            string    maphong  = XuLyNhapMaPhong("");          // chon ma phong moi
            NgayThang ngayMuon = XuLyNhapNgayMuon();           // nhap ngay moi

            // lay ra danh sach cac tiet chua duoc muon
            List <int> tiettrong = quanlyPhong.LayDSTietTrong(maphong, ngayMuon);

            if (tiettrong.Count == 0) // neu khong con tiet nao trong
            {
                Console.WriteLine("Phong {0} da duoc muon ca ngay {1}", maphong, ngayMuon);
            }
            else
            {                                                   // neu con trong
                Console.Write("Trong ngay {0} tai phong {1}, ban co the muon cac tiet sau: ", ngayMuon, maphong);
                Console.WriteLine(LayChuoiSoTuList(tiettrong)); // in ra ca tiet trong
                Console.WriteLine();

                Console.WriteLine("Moi ban chon cac tiet muon:");
                int tietBDMuon = XuLyNhapTiet("bat dau", 0, tiettrong);        // nhap tiet bat dau muon
                tiettrong = QuanLyPhong.LayDSTietTrong(tiettrong, tietBDMuon); // loc lai danh sach tiet co the muon

                if (tiettrong.Count == 0)                                      // neu sau khi loc khong con tiet nao
                {
                    Console.WriteLine("Ban nen bat dau lai tu dau");
                }
                else
                {
                    Console.Write("Ban chi con co the chon cac tiet sau: ");
                    Console.WriteLine(LayChuoiSoTuList(tiettrong));                   // in lai danh sach tiet trong sau khi da loc
                    int tietKTMuon = XuLyNhapTiet("ket thuc", tietBDMuon, tiettrong); // nhap tiet ket thuc muon

                    quanlyPhong.SuaTTMotDonMuonPhong(madon, tenNgMuon, dvCongtac, maphong, ngayMuon, tietBDMuon, tietKTMuon);
                }
            }
        }
Esempio n. 6
0
        // Ham doc du lieu phong tu file
        private static void DocDSPhong(StreamReader sr, QuanLyPhong quanlyphong)
        {
            int sophong;

            // doc so phong, neu khong doc duoc thi nem ra loi
            if (!int.TryParse(sr.ReadLine(), out sophong))
            {
                throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
            }

            for (int i = 0; i < sophong; i++) // duyet qua cac dong de doc thong tin cac phong
            {
                string input = sr.ReadLine(); // doc mot dong
                // neu khong doc duoc thi nem loi
                if (string.IsNullOrEmpty(input))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
                }

                // tach gia tri
                string[] inputs = input.Split(',');

                // chuỗi phải chứa 3 thanh phan
                if (inputs.Length != 3)
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
                }

                string maphong = inputs[0]; // thanh phan dau tien la ma phong

                // thanh phan thu hai la loai phong
                QuanLyPhong.LoaiPhong loaiPhong;
                if (!Enum.TryParse(inputs[1], out loaiPhong))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
                }

                // thanh phan thu ba la suc chua
                int succhua;
                if (!int.TryParse(inputs[2], out succhua))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
                }

                quanlyphong.ThemPhong(maphong, loaiPhong, succhua); // them phong moi vao cuoi danh sach
            }
        }
Esempio n. 7
0
        // Ham doc du lieu don muon phong tu file
        private static void DocDSDonMuonPhong(StreamReader sr, QuanLyPhong quanlyphong)
        {
            int sodon;

            // doc so luong don muon phong, neu khong dung thi nem loi ra
            if (!int.TryParse(sr.ReadLine(), out sodon))
            {
                throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
            }

            for (int i = 0; i < sodon; i++)   // duyet qua tung dong de doc du lieu cac don muon phong
            {
                string input = sr.ReadLine(); // doc mot dong
                // neu khong doc duoc thi nem loi ra
                if (string.IsNullOrEmpty(input))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
                }

                // tach gia tri
                string[] inputs = input.Split(',');

                // chuỗi phải chứa 7 thanh phan
                if (inputs.Length != 7)
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong.");
                }

                string madon = inputs[0]; // thanh phan dau tien la ma don

                // thanh phan thu hai la ten nguoi muon
                string tenNgMuon = inputs[1];
                // thanh phan thu ba la don vi cong tac
                string dvCongtac = inputs[2];
                // thanh phan thu tu la ma phong
                string maphong = inputs[3];
                // kiem tra xem phong co co trong danh sach phong hay khong?
                if (!quanlyphong.LaCoMaPhong(maphong))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi loi.");
                }
                // thanh phan thu nam la ngay muon
                NgayThang ngayMuon;
                if (!NgayThang.TryParse(inputs[4], out ngayMuon))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong");
                }
                // thanh phan thu sau la tiet bat dau muon
                int tietBDMuon;
                if (!int.TryParse(inputs[5], out tietBDMuon))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong");
                }
                // thanh phan thu bay la tiet ket thuc muon
                int tietKTMuon;
                if (!int.TryParse(inputs[6], out tietKTMuon))
                {
                    throw new XuLyTapTinException("Noi dung tap tin du lieu bi hong");
                }

                try
                {
                    quanlyphong.ThemDon(madon, tenNgMuon, dvCongtac,
                                        maphong, ngayMuon, tietBDMuon, tietKTMuon); // them don moi vao danh sach
                }
                catch (ArgumentException ex)
                {
                    string mess = string.Format("{0}. Noi dung tap tin du lieu bi hong", ex.Message);
                    throw new XuLyTapTinException(mess);
                }
            }
        }