using System.Collections.Generic;
public string ToRead = "To Read";
public string Reading = "Reading";
public string Finished = "Finished";
public string Title { get; set; }
public string Author { get; set; }
public int Pages { get; set; }
public string Publisher { get; set; }
public string ReadingStatus { get; set; }
public DateTime? StartedReadingAt { get; private set; }
public DateTime? FinishedReadingAt { get; private set; }
public Book(string title, string author, int pages, string publisher)
public void StartReading()
StartedReadingAt = DateTime.Now;
public void FinishReading()
ReadingStatus = Finished;
FinishedReadingAt = DateTime.Now;
public class BookRepository
public List<Book> Books = new();
public void Add(Book book)
public Book GetByTitle(string title)
return Books.FirstOrDefault(b => b.Title == title);
public List<Book> GetAll()
public void AddBook(string title, string author, int pages, string publisher)
Book book = new Book(title, author, pages, publisher);
BookRepository bookRepository = new BookRepository();
bookRepository.Add(book);
public void UpdateBook(string title, string author, int pages,
string publisher, bool isReading, bool isFinishedReading)
BookRepository bookRepository = new BookRepository();
Book book = bookRepository.GetByTitle(title);
book.Publisher = publisher;
book.ReadingStatus = book.ToRead;
public List<Book> GetAllBooks()
BookRepository bookRepository = new BookRepository();
return bookRepository.GetAll();