예제 #1
0
파일: Program.cs 프로젝트: nhatquyen/LTHDT
        // Ham xu ly nhap ngay muon
        static NgayThang XuLyNhapNgayMuon()
        {
            NgayThang ngayMuon = null;

            Console.Write("Ngay thang (dd/mm/yyyy) : "); // Yeu cau nhap ngay thang dung dang
            string ngaythang;

            do
            {
                ngaythang = Console.ReadLine();
                if (ngaythang == null)
                {
                    throw new CtrlZException();
                }
                if (NgayThang.TryParse(ngaythang, out ngayMuon)) // ngay thang nhap dung
                {
                    break;
                }
                // neu sai thi yeu cau nhap lai
                Console.WriteLine("Ngay ban nhap khong dung.");
                Console.Write("De nghi ban nhap lai dung dang dd/mm/yyyy hoac bam Ctrl+Z de thoat: ");
            } while (true);
            return(ngayMuon);
        }
예제 #2
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);
                }
            }
        }