/// <summary> /// Execute async. /// </summary> /// <param name="contentOptionFilter">The content option filter.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>An action result.</returns> public async Task <IActionResult> ExecuteAsync(ContentOptionFilter contentOptionFilter, CancellationToken cancellationToken) { if (contentOptionFilter is null) { throw new ArgumentNullException(nameof(contentOptionFilter)); } var contentOptionFilterModel = this.contentOptionFilterMapper.Map(contentOptionFilter); var contents = await this.contentRepository.GetAsync(contentOptionFilterModel, cancellationToken).ConfigureAwait(false); if (contents is null || !contents.Any()) { return(new NotFoundResult()); } var contentViewModels = this.contentMapper.MapList(contents); return(new OkObjectResult(contentViewModels)); }
public Task <IActionResult> GetAsync( [FromServices] GetContentCommand command, [FromQuery] ContentOptionFilter contentOptionFilter, CancellationToken cancellationToken) => command.ExecuteAsync(contentOptionFilter, cancellationToken);