Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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
            }));
        }