using MediatR; using Modules.Library.Application.Gateways; using Modules.Rating.Api.Querirs; namespace Modules.Library.Application.Queries.Anime.AnimeTitle; public class AnimeTitleQuery : IRequest { public Guid Id { get; set; } } public class AnimeTitleQueryHandler(IAnimeTitleGateway titleGateway, IMediator mediator) : IRequestHandler { public async Task 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; } }