Создание корзины для покупок в С# c EF

Я хочу добавить метод для добавление Книги в корзину. Но не знаю как сделать.

public async Task<Guid> Create(Book book)
{
    var bookEntity = new BookEntity
    {
        Id = book.Id,

        Title = book.Title,

        Description = book.Description,

        Price = book.Price,
    };
    await _context.Books.AddAsync(bookEntity);
    await _context.SaveChangesAsync();

    return bookEntity.Id;
    
}

Вот пример CRUD метода хочу добавить сюда же этот метод по добавлений корзину.


Ответы (1 шт):

Автор решения: Faraday

К примеру, я могу представить, что ваша корзина будет выглядеть типа так:

public class CartEntity
{
    public int Id { get; set; }

    public int UserId { get; set; }
    public UserEntity User { get; set; }

    public IEnumerable<BookEntity> Books { get; set; } = [];
}

Тогда метод для добавления книги в корзину будет выглядеть следующим образом:

public async Task<bool> Buy(Guid bookId, Guid cartId)
{
    BookEntity? book = await _context.Books.FirstOrDefault(x => x.Id == bookId);
    if (book == null)
    {
        return false;
    }

    book.CartId = cartId;

    _context.Books.Update(book);
    await _context.SaveChangesAsync();
    return true;
}
→ Ссылка