Exemplo n.º 1
0
        public override IResultWithTotalCount <AccommodationItem> Handle(GetPagedAccommodationItems query)
        {
            var localizedAccommodations = PreHandle(Source, query);

            var accommodationItems = ProjectTo <AccommodationItem>(localizedAccommodations);

            var result = new ResultWithTotalCount <AccommodationItem>
            {
                Result = accommodationItems.Skip(query.Paging.CalculateSkip()).Take(query.Paging.PageSize).ToArray(),

                TotalCount = accommodationItems.Count()
            };

            return(result);
        }
Exemplo n.º 2
0
        private static IQueryable <LocalizedAccommodation> PreHandle(IQueryable <LocalizedAccommodation> source, GetPagedAccommodationItems query)
        {
            var localizedAccommodationQueryable = source.Include(p => p.Accommodation).Where(p => p.LanguageId == query.LanguageId);

            var localizedAccommodationOrderedQueryable = query.Sorting(localizedAccommodationQueryable);

            return(localizedAccommodationOrderedQueryable);
        }
Exemplo n.º 3
0
        public override async Task <IResultWithTotalCount <AccommodationItem> > HandleAsync(GetPagedAccommodationItems query, CancellationToken cancellationToken)
        {
            var localizedAccommodations = PreHandle(Source, query);

            var accommodationItems = ProjectTo <AccommodationItem>(localizedAccommodations);

            var result = new ResultWithTotalCount <AccommodationItem>
            {
                Result = await accommodationItems.Skip(query.Paging.CalculateSkip()).Take(query.Paging.PageSize).ToArrayAsync(cancellationToken),

                TotalCount = await accommodationItems.CountAsync(cancellationToken)
            };

            return(result);
        }