コード例 #1
0
        /// <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));
        }
コード例 #2
0
 public Task <IActionResult> GetAsync(
     [FromServices] GetContentCommand command,
     [FromQuery] ContentOptionFilter contentOptionFilter,
     CancellationToken cancellationToken) => command.ExecuteAsync(contentOptionFilter, cancellationToken);