/// <summary> /// Интерактивное меню для удаления автора /// </summary> /// <param name="db"></param> static void DeleteAuthorMenu(BookStoreContext db) { Console.WriteLine("Введите имя автора"); string fname = Console.ReadLine(); Console.WriteLine("Введите фамилию автора"); string sname = Console.ReadLine(); var author = db.Authors.Where(a => a.FirstName == fname && a.SurnameName == sname).FirstOrDefault(); if (author != null) { db.Authors.Remove(db.Authors.Find(author.Id)); db.SaveChanges(); } else { Console.WriteLine("Автор не существует!"); } }
/// <summary> /// Интерактивное меню для удаления книги /// </summary> /// <param name="db"></param> static void DeleteBookMenu(BookStoreContext db) { PrintBooksList(db); Console.Write("Введите индентификатор удаляемой книги: "); int bookId; if (Int32.TryParse(Console.ReadLine(), out bookId)) { var book = db.Books.Find(bookId); if (book != null) { db.Books.Remove(book); db.SaveChanges(); Console.WriteLine($"Кинга {book.Name} удалена из базы"); } else { Console.WriteLine("Книги с таким идентификатором нет в базе"); } } }
/// <summary> /// Интерактивное меню для добавления автора /// </summary> /// <param name="db"></param> static void AddAuthorMenu(BookStoreContext db) { Console.WriteLine("Введите имя автора"); string fname = Console.ReadLine(); Console.WriteLine("Введите фамилию автора"); string sname = Console.ReadLine(); var author = db.Authors.Where(a => a.FirstName == fname && a.SurnameName == sname).FirstOrDefault(); if (author == null) { db.Authors.Add(new Author() { FirstName = fname, SurnameName = sname }); db.SaveChanges(); } else { Console.WriteLine("Автор уже существует!"); } }
/// <summary> /// Интерактивное меню для добавления книги /// </summary> /// <param name="db"></param> static void AddBookMenu(BookStoreContext db) { Console.WriteLine("1) Обычная книга"); Console.WriteLine("2) Научная книга"); Console.WriteLine("3) Журнал"); Console.Write("Выберите тип книги, который хотите добавить: "); byte menuChoice; if (Byte.TryParse(Console.ReadLine(), out menuChoice)) { Console.WriteLine(); PrintAuthorsList(db); Console.Write("Введите идентификатор его автора: "); Console.WriteLine(); int authorId; if (Int32.TryParse(Console.ReadLine(), out authorId)) { var author = db.Authors.Find(authorId); if (author != null) { Console.Write("Введите название: "); string name = Console.ReadLine(); Book book = null; if (menuChoice == 1) { book = new Book() { Name = name }; } else if (menuChoice == 2) { Console.Write("Введите тип книги (учебник, справочник): "); string type = Console.ReadLine(); book = new ScienceBook() { Name = name, Type = type }; } else if (menuChoice == 3) { Console.Write("Для кого предназначен журнал? "); string reader = Console.ReadLine(); book = new Magazine() { Name = name, ReaderType = reader }; } db.Books.Add(book); author.AuthorBooks.Add(new AuthorBook() { Book = book }); db.SaveChanges(); } else { Console.WriteLine("Автора с таким идентификатором нет в базе"); } } else { Console.WriteLine("Ожидалось целое число"); } } }