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); }
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 }))); }
public GetSubscriptionListCommand(SubscriptionListRequest model) { Request = model; }
public async Task <ListResponse <Subscription> > ListSubscriptions(SubscriptionListRequest request) { var url = string.Format(SUBSCRIPTIONS_PATH, request.CustomerId); return(await SendListRequest <Subscription>(HttpMethod.Get, url, request)); }