Загрузка данных


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