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); }
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); }