//revised //need to check the relation with library ticket before deleting public static void delReaderbyID(string readerID) { string filePath = @"../../myReader.txt"; List <string> listreader = new List <string>(); listreader = File.ReadAllLines(filePath).ToList(); Reader input = Reader.inqReaderbyID(readerID); if (input.readerName != "") { int rd_index = MyReader.find_reader_index(input.readerID); MyReader.myrd.Remove(MyReader.myrd[rd_index]); string reader_record = listreader[rd_index]; listreader.Remove(reader_record); File.WriteAllLines(@"../../myReader.txt", listreader); Console.WriteLine("Đã xoá Đọc giả có mã {0} ", readerID); Console.WriteLine("Cập nhật danh sách Đọc giả mới nhất"); MyReader.inquire_all_reader(); } else { Console.WriteLine("Không có mã Đọc giả {0}", readerID); } }
/*public static bool checkexistedReaderID(string ReaderID) * //{ * // string filePath = @"../../myReader.txt"; * // List<string> listreader = new List<string>(); * // listreader = File.ReadAllLines(filePath).ToList(); * // bool found_chk = false; * * // for (int i = 0; i < listreader.Count; i++) * // { * // //record là mỗi bản ghi trong list , eachRecord là mỗi node của một bản ghi record * // string record = listreader[i]; * // string[] eachRecord = record.Split(','); * // //nếu node thứ nhất (có index 0) của record khớp với giá trị đầu vào * // if (eachRecord[0] == ReaderID) * // { * // found_chk = true; * // break; * // } * // else * // { * // found_chk = false; * // } * // } * // if (found_chk == true) * // { * // Console.WriteLine("Mã đọc giả đã tồn tại"); * // } * // else * // { * // } * * // return found_chk; * //}*/ //revised public static void addReader() { //Console.OutputEncoding = System.Text.Encoding.UTF8; //List<Reader> myreader = new List<Reader>(); Reader newreader = new Reader(); string mobilephone = ""; Console.Write("Nhập Mã Đọc giả: "); newreader.readerID = Console.ReadLine(); while (checkexistedReaderID(newreader.readerID) || newreader.readerID.Length > 8) { Console.Write("Vui lòng nhập mã đọc giả khác tối đa 08 ký tự: "); newreader.readerID = Console.ReadLine(); } Console.Write("Nhập Tên Đọc giả: "); newreader.readerName = Console.ReadLine(); while (newreader.readerName.Length > 34) { Console.Write("Vui lòng nhập tên đọc giả tối đa 34 ký tự "); newreader.readerName = Console.ReadLine(); } Console.Write("Nhập Số điện thoại của Đọc giả: "); mobilephone = Console.ReadLine(); while (!checkmobilephone(mobilephone)) { mobilephone = Console.ReadLine(); } newreader.readerMobile = mobilephone; //thêm một bản ghi thông tin chi tiết đọc giả vào List Object Reader //lưu vào một biến string newrecord với dạng $ format cho gọn thay vì phải + từng chuỗi giá trị string newrecord = $"{newreader.readerID},{newreader.readerName},{newreader.readerMobile}"; //mở file txt và lưu các bản ghi hiện có vào một List<string> tên lines List <string> lines = System.IO.File.ReadAllLines(@"../../myReader.txt").ToList(); //thêm bản ghi mới nhất vào lines lines.Add(newrecord); //và lưu lại vào file myReader.txt File.WriteAllLines(@"../../myReader.txt", lines); //lưu thông tin đoc giả mới nhất vào danh sách đọc giả MyReader MyReader.myrd.Add(newreader); //indicate transaction is done, should comment before submission Console.WriteLine("\nThêm Đọc giả Đã Hoàn Tất!\n"); MyReader.inquire_all_reader(); }
static void Main(string[] args) { //cho phép hiển thị UTF-8 string (Tiếng Việt) trong Console Application //Console.OutputEncoding = System.Text.Encoding.UTF8; Console.SetWindowSize(180, 30); //khoi gan thong tin thu vien: sach / doc gia / phieu muon sach tu file txt file MyLibrary.init_library(); MyReader.init_lib_reader(); MyTicket.init_lib_ticket(); //testing new function // chương trình bắt đầu menuScreen(); }
// revised public static void editReaderbyID(string readerID) { string filePath = @"../../myReader.txt"; List <string> listreader = new List <string>(); listreader = File.ReadAllLines(filePath).ToList(); Reader input = Reader.inqReaderbyID(readerID); if (input.readerName != "") { int rd_index = MyReader.find_reader_index(input.readerID); Console.WriteLine("Thực hiện việc sửa thông tin đọc giả có mã {0}", readerID); Console.Write("Nhập Tên Đọc giả mới: "); MyReader.myrd[rd_index].readerName = Console.ReadLine(); while (MyReader.myrd[rd_index].readerName.Length > 34) { Console.Write("Vui lòng nhập tên đọc giả tối đa 34 ký tự "); MyReader.myrd[rd_index].readerName = Console.ReadLine(); } Console.Write("Nhập Số Điện thoại mới: "); string mobilephone = Console.ReadLine(); while (!checkmobilephone(mobilephone)) { mobilephone = Console.ReadLine(); } MyReader.myrd[rd_index].readerMobile = mobilephone; //lưu kết quả lại vào listreader[i] listreader[rd_index] = $"{MyReader.myrd[rd_index].readerID},{MyReader.myrd[rd_index].readerName},{MyReader.myrd[rd_index].readerMobile}"; File.WriteAllLines(@"../../myReader.txt", listreader); Console.WriteLine("\nCập Nhật Thông Tin Đọc giả Đã Hoàn Tất!\n"); Console.WriteLine("Cập nhật danh sách Đọc giả mới nhất"); MyReader.inquire_all_reader(); } else { Console.WriteLine("Không có mã Đọc giả {0}", readerID); } }
//register a new library ticket with reader info, book info and start date (issue date) //revised public static void addTicket() { LibraryTicket newticket = new LibraryTicket(); string readerID = "", bookID = ""; Reader input_rd = new Reader(); Book input_bk = new Book(); MyReader.inquire_all_reader(); Console.Write("Hay nhap Ma Doc Gia tuong ung: "); while (input_rd.readerName == "") { readerID = Console.ReadLine(); input_rd = Reader.inqReaderbyID(readerID); } newticket.readerID = input_rd.readerID; //thông tin sách Book.print_header(); MyLibrary.inquire_all_book(); Console.Write("Hay nhap Ma Sach tuong ung: "); while (input_bk.bookName == "") { bookID = Console.ReadLine(); input_bk = Book.inqBookbyID(bookID); } newticket.bookID = input_bk.bookName; newticket.isEN = input_bk.bookISBN; newticket.status = "1";//init Console.Write("Nhap ngay bat dau muon (vi du: 10/22/2018): "); string inputtedDate = Console.ReadLine(); while (!checkDatetime(inputtedDate)) { inputtedDate = Console.ReadLine(); } newticket.fromDate = DateTime.Parse(inputtedDate).ToShortDateString().ToString(); newticket.toDate = "";//init // Cấu hình thiết lập thông tin quá hạn mượn sách // Mỗi quyển sách được mượn tối đa 7 ngày (kể cả Thứ Bảy, Chủ Nhật): // Sách tiếng Việt sẽ bị phạt 10000d đồng/ngày trễ hạn // Sách Ngoại văn sẽ bị phạt 20000d đồng/ngày trễ hạn GeneralCode iniTicket = new GeneralCode(7, 10000d, 20000d); if (newticket.isEN == "1") { newticket.standardRate = iniTicket.StandardRateEN; } else { newticket.standardRate = iniTicket.StandardRateVN; } newticket.overDays = "0"; //init newticket.amount = 0; //init //lưu thông tin đồng thời vào txt file và MyTicket string newrecord = $"{newticket.readerID},{newticket.bookID},{newticket.isEN},{newticket.status},{newticket.fromDate},{newticket.toDate},{newticket.overDays},{newticket.standardRate},{newticket.amount}"; List <string> lines = System.IO.File.ReadAllLines(@"../../myTicket.txt").ToList(); lines.Add(newrecord); File.WriteAllLines(@"../../myTicket.txt", lines); MyTicket.mytk.Add(newticket); Console.WriteLine("\nTao Phieu Muon Sach thanh cong!\n"); //in ket qua phieu muon sach MyTicket.inquire_a_ticket(MyTicket.mytk.Count - 1); }
//hàm gọi 11 chức năng của console static void begins(int slt) { Console.OutputEncoding = System.Text.Encoding.UTF8; switch (slt) { case 1: { Console.WriteLine("\nChuc nang them sach"); Book.addBook(); break; } case 2: { Console.WriteLine("\nChuc nang xoa sach"); MyLibrary.inquire_all_book(); Console.Write("\nNhap Ma sach tuong ung voi Ten Sach can xoa: "); string inputvar = Console.ReadLine(); Book.delBookbyID(inputvar); break; } case 3: { Console.WriteLine("\nChuc nang sua sach"); MyLibrary.inquire_all_book(); Console.Write("\nNhap Ma Sach tuong ung voi ten sach can sua: "); string inputvar = Console.ReadLine(); Book.editBookbyID(inputvar); break; } case 4: { Console.WriteLine("\nChuc nang tim kiem Sach"); MyLibrary.inquire_all_book(); Console.Write("\nNhap Ten Sach can tim: "); string inputvar = Console.ReadLine(); Book.inqBookbyName(inputvar); break; } case 5: { Console.WriteLine("\nChuc nang them Doc Gia"); Reader.addReader(); break; } case 6: { Console.WriteLine("\nChuc nang xoa Doc Gia"); MyReader.inquire_all_reader(); Console.Write("Nhap Ma Doc Gia can xoa: "); string inputvar = Console.ReadLine(); Reader.delReaderbyID(inputvar); break; } case 7: { Console.WriteLine("\nChuc nang sua Doc Gia"); MyReader.inquire_all_reader(); Console.Write("Nhap Ma Doc Gia can sua: "); string inputvar = Console.ReadLine(); Reader.editReaderbyID(inputvar); break; } case 8: { Console.WriteLine("\nChuc nang tim kiem Doc Gia"); Console.Write("Nhap Ten Doc Gia can tim: "); string inputvar = Console.ReadLine(); Reader.inqReaderbyName(inputvar); break; } case 9: { Console.WriteLine("\nChuc nang lap Phieu Muon Sach"); LibraryTicket.addTicket(); break; } case 10: { Console.WriteLine("\nChuc nang lap Phieu Tra Sach"); Console.Write("Nhap Ma Phieu Muon Sach can tra: "); string inputvar = Console.ReadLine(); LibraryTicket.returnTicket(inputvar); break; } case 11: { Console.WriteLine("\nChuc nang liet ke danh sach muon sach tre han"); LibraryTicket.overdayslistLibraryTicket(); break; } case 12: { Console.WriteLine("\nDanh muc sach co trong thu vien"); MyLibrary.inquire_all_book(); break; } // default: break; } }