Пример #1
0
        public async Task <PrintingEditionPageDataModel> GetPageAsync(
            PageModel <PrintingEditionFilterModel> pageModel)
        {
            var printingEditions = await _printingEditionRepository.GetPageAsync(new PageOptions <PrintingEditionFilter>
            {
                Filter = pageModel.Filter == null
                    ? null
                    : new PrintingEditionFilter
                {
                    Title        = pageModel.Filter.Title,
                    Description  = pageModel.Filter.Description,
                    Currency     = pageModel.Filter.Currency,
                    MinPrice     = pageModel.Filter.MinPrice,
                    MaxPrice     = pageModel.Filter.MaxPrice,
                    Types        = pageModel.Filter.Types,
                    CreationDate = pageModel.Filter.CreationDate,
                    SearchString = pageModel.Filter.SearchString
                },
                Page      = pageModel.Page,
                PageSize  = pageModel.PageSize,
                SortField = pageModel.SortField,
                SortOrder = pageModel.SortOrder
            });

            List <PrintingEditionModel> printingEditionModels = _printingEditionMapper.Map(printingEditions);
            PriceRange priceRange = await _printingEditionRepository.GetPriceRangeAsync(pageModel.Filter.Currency);

            return(new PrintingEditionPageDataModel
            {
                Data = printingEditionModels,
                Length = printingEditions.TotalItemCount,
                MinPrice = priceRange.MinPrice,
                MaxPrice = priceRange.MaxPrice
            });
        }