Ejemplo n.º 1
0
        public async Task <IActionResult> Get(SubscriptionListRequest model)
        {
            var command  = new GetSubscriptionListCommand(model);
            var response = await _mediator.Send(command);

            return(Ok(response));
        }
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task <PaginatedResponse <IList <Subscription> > > Handle(GetSubscriptionListCommand command, CancellationToken cancellationToken)
        {
            SubscriptionListRequest request = command.Request;
            IList <Subscription>    list    =
                await _subscriptionRepository.GetListAsync(request.GetLimit(), request.GetOffset(), x => x.CreatedOn, true, request.Type);

            long total = await _subscriptionRepository.GetListTotalAsync(x => x.CreatedOn, true, request.Type);

            int totalPages = (int)Math.Ceiling((decimal)total / request.EntriesPerPage);
            var result     = new PaginatedResponse <IList <Subscription> >(list, total, request.Page, totalPages, request.GetLimit());

            return(result);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> List([FromBody] SubscriptionListRequest request)
        {
            var user = await userManager.GetUserAsync(User);

            var query = subscriptionManager.GetAll(user);

            if (request.Ids != null)
            {
                query = query.Where(x => request.Ids.Contains(x.Id));
            }

            if (request.ParentFolderIds != null)
            {
                query = query.Where(x => request.ParentFolderIds.Contains(x.ParentFolderId));
            }

            var subscriptions = query
                                .OrderBy(x => x.Name)
                                .Select(modelFactory.ToApi)
                                .ToArray();

            if ((request.Parts & ApiSubscription.Parts.Config) != 0)
            {
                AddConfigs(subscriptions);
            }

            if ((request.Parts & ApiSubscription.Parts.Stats) != 0)
            {
                AddStatistics(subscriptions);
            }

            return(Ok(responseFactory.Success(new SubscriptionListResponse
            {
                Subscriptions = subscriptions
            })));
        }
Ejemplo n.º 4
0
 public GetSubscriptionListCommand(SubscriptionListRequest model)
 {
     Request = model;
 }
Ejemplo n.º 5
0
        public async Task <ListResponse <Subscription> > ListSubscriptions(SubscriptionListRequest request)
        {
            var url = string.Format(SUBSCRIPTIONS_PATH, request.CustomerId);

            return(await SendListRequest <Subscription>(HttpMethod.Get, url, request));
        }