54 lines
1.7 KiB
C#
54 lines
1.7 KiB
C#
|
using ProjectLibrary.Entities;
|
|||
|
using ProjectLibrary.Entities.Enums;
|
|||
|
using ProjectLibrary.Repositories;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
|
|||
|
namespace ProjectLibrary.Repositories.Implementations
|
|||
|
{
|
|||
|
public class BookRepository : IBookRepository
|
|||
|
{
|
|||
|
// Эмулируем базу данных в виде списка
|
|||
|
private readonly List<Book> _books = new List<Book>();
|
|||
|
|
|||
|
public void CreateBook(Book book)
|
|||
|
{
|
|||
|
// Логика для добавления книги в базу данных
|
|||
|
_books.Add(book);
|
|||
|
}
|
|||
|
|
|||
|
public void DeleteBook(int id)
|
|||
|
{
|
|||
|
// Логика для удаления книги по id
|
|||
|
var book = _books.FirstOrDefault(b => b.Id == id);
|
|||
|
if (book != null)
|
|||
|
{
|
|||
|
_books.Remove(book);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public Book ReadBookById(int id)
|
|||
|
{
|
|||
|
// Логика для получения книги по id
|
|||
|
return _books.FirstOrDefault(b => b.Id == id) ?? Book.CreateEntity(id, "Unknown Author", "Unknown Title", BookType.None, 0);
|
|||
|
}
|
|||
|
|
|||
|
public IEnumerable<Book> ReadBooks()
|
|||
|
{
|
|||
|
// Логика для получения всех книг
|
|||
|
return _books;
|
|||
|
}
|
|||
|
|
|||
|
public void UpdateBook(Book book)
|
|||
|
{
|
|||
|
// Логика для обновления информации о книге
|
|||
|
var existingBook = _books.FirstOrDefault(b => b.Id == book.Id);
|
|||
|
if (existingBook != null)
|
|||
|
{
|
|||
|
_books.Remove(existingBook);
|
|||
|
_books.Add(book);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|