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