public async Task <ActionResult <IReadOnlyCollection <SubscriptionDto> > > GetAllSubscriptionAsync([FromQuery] SubscriptionSSPF options) { var Subscriptions = await _SubscriptionService.GetAllSubscriptionAsync(options); if (Subscriptions == null) { return(NotFound("Collection was empty :( ")); } return(Ok(Subscriptions)); }
/// <inheritdoc /> public async Task <IReadOnlyCollection <SubscriptionDto> > GetAllSubscriptionAsync(SubscriptionSSPF options) { var subscriptionsQuery = _paraContext.Subscriptions .AsNoTracking() .FilterSubscriptionBy(options.filterBy, options.AmountTrigger) .SubscriptionSortBy(options.orderBy) .SearchSubscriptionBy(options.SearchBy, options.SearchingValue) .Select(s => new SubscriptionDto { Id = s.Year, Amount = s.SubscriptionAmount, NumberOfPayments = s.SubscriptionPayments.Count, IsActive = s.IsActive, TotalAmount = s.SubscriptionPayments.Count * s.SubscriptionAmount }); options.SetPagingValues(subscriptionsQuery); var pagedQuery = subscriptionsQuery.Page(options.PageNumber - 1, options.PageSize); return(await pagedQuery.ToListAsync()); }