using System;
using System.Collections.Generic;
using System.Linq;
namespace LibraryApp.Console.Models
{
public class Library
{
private List<Book> _books = new List<Book>();
private int _nextId = 1;
public void AddBook(string title, string author, int year)
{
var book = new Book
{
Id = _nextId++,
Title = title,
Author = author,
Year = year
};
_books.Add(book);
Console.WriteLine($"Книга '{title}' добавлена (ID: {book.Id})");
}
public void DisplayAllBooks()
{
if (_books.Count == 0)
{
Console.WriteLine("Библиотека пуста.");
return;
}
Console.WriteLine("\n=== Список книг ===");
foreach (var book in _books)
{
Console.WriteLine(book);
}
}
public void IssueBook(int id)
{
var book = _books.FirstOrDefault(b => b.Id == id);
if (book == null)
{
Console.WriteLine($"Книга с ID {id} не найдена.");
return;
}
if (!book.IsAvailable)
{
Console.WriteLine($"Книга '{book.Title}' уже выдана.");
return;
}
book.IsAvailable = false;
Console.WriteLine($"Книга '{book.Title}' выдана.");
}
public void ReturnBook(int id)
{
var book = _books.FirstOrDefault(b => b.Id == id);
if (book == null)
{
Console.WriteLine($"Книга с ID {id} не найдена.");
return;
}
if (book.IsAvailable)
{
Console.WriteLine($"Книга '{book.Title}' уже в наличии.");
return;
}
book.IsAvailable = true;
Console.WriteLine($"Книга '{book.Title}' возвращена.");
}
public List<Book> GetAllBooks() => _books;
}
}