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));
        }
Example #2
0
        /// <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());
        }