private Task <IResult> IsValidAsync(SearchGamesByCategoryQuery query) { return(_validator .Require <SkipTakeValuesValidRule>() .WithOptions(x => x.StopIfFailed()) .WithData((query.Skip, query.Take)) .ValidateAsync()); }
public async Task <IResult <IReadOnlyCollection <GameWithImageResponse> > > HandleAsync(SearchGamesByCategoryQuery query) { var validationResult = await IsValidAsync(query); if (validationResult.HasFailed()) { return(validationResult.Map <IReadOnlyCollection <GameWithImageResponse> >()); } return((await _searchService .SearchGamesByCategory(query.GameCategory, query.Skip, query.Take)) .ToSuccessfulResult()); }