public async Task <IRequestResult <IReadOnlyCollection <Rubric> > > Handle(GetRubricsQuery request, CancellationToken cancellationToken) { if (null == request) { throw new ArgumentNullException(nameof(request)); } try { var rubrics = await context.Rubrics .AsNoTracking() .OrderBy(rubric => rubric.Order) //.OrderBy(rubric => rubric.Name, StringComparer.InvariantCultureIgnoreCase) .ThenBy(rubric => rubric.Name) .Select(rubric => mapper.Map <Rubric>(rubric)) .ToArrayAsync(cancellationToken: cancellationToken); return(RequestResult.Success(rubrics)); } catch (Exception exception) { logger.LogError(exception, $"{nameof(GetRubricsQueryHandler)}"); return(RequestResult.Error <IReadOnlyCollection <Rubric> >(exception)); } }
public async Task <IActionResult> Get() { var query = new GetRubricsQuery { }; var result = await mediator.Send(query); if (result.IsFailed()) { return(BadRequest()); } return(Ok(new ListResult <RubricModel, ResultMetaInfo> { Data = result.Data.Select(rubric => mapper.Map <RubricModel>(rubric)), Meta = null })); }