using ChapterX.Domain.Repositories; using MediatR; using Microsoft.Extensions.Logging; namespace ChapterX.Application.Genre.Commands { public class UpdateHandler : IRequestHandler { private readonly IGenreRepository _genreRepository; private readonly ILogger _logger; public UpdateHandler(IGenreRepository genreRepository, ILogger logger) { _genreRepository = genreRepository; _logger = logger; } public async Task Handle(UpdateRequest request, CancellationToken cancellationToken) { var genre = await _genreRepository.GetByIdAsync(request.Id, cancellationToken); if (genre is null) return new UpdateResponse(false); genre.Name = request.Name; await _genreRepository.UpdateAsync(genre, cancellationToken); return new UpdateResponse(true); } } }