Exemple #1
0
        public async Task <IActionResult> GetProductRatings(
            [FromRoute] int productId,
            [FromQuery] GetAllRatingsQuery query,
            [FromQuery] PaginationQuery paginationQuery,
            [FromQuery] SortQuery sortQuery)
        {
            var filter           = mapper.Map <GetAllRatingsFilter>(query);
            var sortingFilter    = sortingService.GetRatingSortingFilters(sortQuery);
            var paginationFilter = mapper.Map <PaginationFilter>(paginationQuery);
            var productQuery     = new GetRatingsQuery
            {
                ProductId  = productId,
                Filter     = filter,
                Pagination = paginationFilter,
                Sorting    = sortingFilter
            };

            var result = await mediator.Send(productQuery).ConfigureAwait(false);

            return(Ok(paginationService.CreateProductRatingsPaginatedResponse(productId,
                                                                              paginationFilter,
                                                                              filter,
                                                                              sortingFilter,
                                                                              result)));
        }
Exemple #2
0
        public async Task <List <RatingResponse> > Handle(
            GetRatingsQuery request,
            CancellationToken cancellationToken)
        {
            var ratings = await ratingRepository
                          .GetAllAsync(request.Filter, request.Pagination, request.Sorting)
                          .ConfigureAwait(false);

            return(mapper.Map <List <RatingResponse> >(ratings));
        }
 public async Task <IEnumerable <RatingModel> > ExecuteAsync(GetRatingsQuery command, IEnumerable <RatingModel> previousResult)
 {
     return(await _cosmosStore
            .Query()
            .ToListAsync());
 }
Exemple #4
0
 public async Task <List <RatingDto> > Handle(GetRatingsQuery request, CancellationToken cancellationToken)
 => await(from r in _context.Ratings
          join u in _context.Users on r.UserId equals u.UserId
              where r.PlaceId == request.PlaceId
          select new RatingDto(r.RatingId, r.RatingDate, r.Comment, r.Value, u.Username, u.Role != Roles.RestrictedUser))
 .ToListAsync();