Exemplo n.º 1
0
        public async Task <string> MakeRequest(CustomerContainer container)
        {
            // configure the start time usage first of all and then end time in ISO8601 - time wi
            string usageStartTime = container.StartTime.ToString("yyyy-MM-ddTHH:00:00Z").Replace(":", "%3a");
            string usageEndTime   = container.EndTime.ToString("yyyy-MM-ddTHH:00:00Z").Replace(":", "%3a");

            string payload = null;
            var    issuer  = new TokenIssuer();
            // Build up the HttpWebRequest
            string requestUrl =
                $"{container.ArmBillingServiceUrl}/subscriptions/{container.SubscriptionId}/providers/Microsoft.Commerce/UsageAggregates?api-version=2015-06-01-preview&reportedstartTime={usageStartTime}&reportedEndTime={usageEndTime}&aggregationGranularity=Hourly&showDetails=true";
            var            newRequest = container.RequestNextLink ?? requestUrl;
            HttpWebRequest request    = (HttpWebRequest)WebRequest.Create(newRequest);

            // Add the OAuth Authorization header, and Content Type header
            request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + await issuer.GetOAuthTokenFromAad(container));
            request.ContentType = "application/json";
            // TODO: check to see that a valid response code is being returned here...
            using (var response = new StreamReader(request.GetResponse().GetResponseStream()))
            {
                payload = await response.ReadToEndAsync();
            }

            return(payload);
        }
Exemplo n.º 2
0
        public async Task <string> MakeRequest(CustomerContainer container)
        {
            string payload = null;
            var    issuer  = new TokenIssuer();
            // Build up the HttpWebRequest
            string requestUrl =
                $"{container.ArmBillingServiceUrl}/subscriptions/{container.SubscriptionId}/providers/Microsoft.Commerce/RateCard?api-version=2015-06-01-preview&$filter=OfferDurableId eq '{container.OfferId}' and Currency eq '{container.Currency}' and Locale eq 'en-GB' and RegionInfo eq '{container.RegionInfo}'";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl);

            // Add the OAuth Authorization header, and Content Type header
            request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + await issuer.GetOAuthTokenFromAad(container));
            request.ContentType = "application/json";
            // TODO: check to see that a valid response code is being returned here...
            using (var response = new StreamReader(request.GetResponse().GetResponseStream()))
            {
                payload = await response.ReadToEndAsync();
            }
            return(payload);
        }