示例#1
0
        public async Task <GetApiProductQueryResult> Handle(GetApiProductQuery request, CancellationToken cancellationToken)
        {
            var result = await _apimApiService.GetAvailableProducts("Documentation");

            var product = result.Products.FirstOrDefault(c => c.Name.Equals(request.ProductName, StringComparison.CurrentCultureIgnoreCase));

            return(new GetApiProductQueryResult
            {
                Product = product
            });
        }
        public async Task <GetApiProductSubscriptionsQueryResult> Handle(GetApiProductSubscriptionsQuery request, CancellationToken cancellationToken)
        {
            var productsTask =
                _apimApiService.GetAvailableProducts(request.AccountType);

            var subscriptionsTask =
                _apimDeveloperApiClient.Get <GetApiProductSubscriptionsResponse>(
                    new GetApiProductSubscriptionsRequest(request.AccountIdentifier));

            await Task.WhenAll(productsTask, subscriptionsTask);

            return(new GetApiProductSubscriptionsQueryResult
            {
                Products = productsTask.Result.Products,
                Subscriptions = subscriptionsTask.Result.Subscriptions
            });
        }