/// <summary> /// Gets the <see cref="ResourceGroupDateKey"/> instance. /// </summary> /// <param name="cost"><see cref="ResourceCosts"/> instance.</param> /// <returns>Returns the <see cref="ResourceGroupDateKey"/> instance.</returns> public static string GetResourceGroupKey(ResourceCosts cost) { var uri = cost?.UsageValue?.Properties?.InstanceData?.MicrosoftResources?.ResourceUri; if (uri.IsNullOrWhiteSpace()) { return(string.Empty); } var startIndex = uri.IndexOf("/ResourceGroups/", StringComparison.CurrentCultureIgnoreCase); if (startIndex < 0) { return(string.Empty); } startIndex += "/ResourceGroups/".Length; var endIndex = uri.IndexOf("/", startIndex, StringComparison.CurrentCultureIgnoreCase); var resourceGroupName = endIndex < 0 ? uri.Substring(startIndex) : uri.Substring(startIndex, endIndex - startIndex); return(resourceGroupName.ToLowerInvariant()); }
public override ResourceAmounts calculateCost(int sizeIndex) { if (ResourceCosts.Count - 1 < sizeIndex) { ResourceCosts.AddRange(new ResourceAmounts[sizeIndex - (ResourceCosts.Count - 1)]); } if (ResourceCosts[sizeIndex] == null) { ResourceCosts[sizeIndex] = new ResourceAmounts(); foreach (ResourceAmount baseResource in BaseResourceCosts) { ResourceCosts[sizeIndex].add(baseResource.mResourceType, baseResource.mAmount + sizeIndex); } } return(ResourceCosts[sizeIndex]); }
/// <summary> /// Gets the <see cref="ResourceGroupDateKey"/> instance. /// </summary> /// <param name="cost"><see cref="ResourceCosts"/> instance.</param> /// <returns>Returns the <see cref="ResourceGroupDateKey"/> instance.</returns> public static ResourceGroupDateKey GetResourceGroupDateKey(ResourceCosts cost) { var rgd = new ResourceGroupDateKey() { ResourceGroupName = string.Empty, DateStart = cost.UsageValue.Properties.UsageStartTimeAsDate.ToUniversalTime().ToString("O"), DateEnd = cost.UsageValue.Properties.UsageEndTimeAsDateTime.ToUniversalTime().ToString("O") }; var resourceGroupName = GetResourceGroupKey(cost); if (resourceGroupName.IsNullOrWhiteSpace()) { return(rgd); } rgd.ResourceGroupName = resourceGroupName.ToLowerInvariant(); return(rgd); }