// 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); }
// 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); } } }