Beispiel #1
0
        public async Task <IReadOnlyCollection <ParagliderDto> > GetAllParaglidersAsync(ParaglidersSSFP options)
        {
            var paragliders = _paraContext.Paragliders
                              .AsNoTracking()
                              .FilterParaglidersBy(options.FilterBy, options.CommissionDate, options.LastRevisionDate, options.ParagliderModelId)
                              .SearchParaglidersBy(options)
                              .SortParagliderBy(options.SortBy)
                              .Select(p => new ParagliderDto
            {
                ParagliderId      = p.ID,
                Name              = p.Name,
                CommissioningDate = p.CommissioningDate,
                LastRevision      = p.LastRevisionDate,
                ParagliderModelId = p.ParagliderModel.ID,
                NumerOfFlights    = p.Flights.Count()
            });

            options.SetPagingValues(paragliders);

            var pagedQuery = paragliders.Page(options.PageNumber - 1, options.PageSize);

            return(await pagedQuery.ToListAsync());
        }