MyBookmark/Modules.Library.Application/Queries/Anime/AnimeTitle/AnimeTitleQuery.cs
2024-10-21 01:52:41 +03:00

23 lines
977 B
C#

using MediatR;
using Modules.Library.Application.Gateways;
using Modules.Rating.Api.Querirs;
namespace Modules.Library.Application.Queries.Anime.AnimeTitle;
public class AnimeTitleQuery : IRequest<Models.Anime.Title>
{
public Guid Id { get; set; }
}
public class AnimeTitleQueryHandler(IAnimeTitleGateway titleGateway, IMediator mediator) : IRequestHandler<AnimeTitleQuery, Models.Anime.Title>
{
public async Task<Models.Anime.Title> Handle(AnimeTitleQuery request, CancellationToken cancellationToken)
{
var title = await titleGateway.GetDetail(request.Id);
//var rate = await mediator.Send(new ObjectRatingQuery { ObjectId = request.Id, SubjectId = null, });
var rate = await mediator.Send(new ObjectRatingQuery { ObjectId = request.Id, SubjectId = new Guid("8393230f-78e3-473b-a5dc-3221917e0aeb"), });
title.Rate = rate?.ObjectRatePercentage;
title.MyRate = rate?.SubjectRatePercentage;
return title;
}
}