Пример #1
0
        private string GetLastPositionFromResourceUriString(UsageAggregate rateUsage)
        {
            if (rateUsage.Properties.InstanceDataRaw != null && rateUsage.Properties.InstanceData?.MicrosoftResources?.ResourceUri != null)
            {
                try
                {
                    var instanceParts = rateUsage.Properties.InstanceData.MicrosoftResources.ResourceUri.Split('/');
                    return(instanceParts[instanceParts.Length - 1]);
                }
                catch (Exception)
                {
                    return(null);
                }
            }

            return(null);
        }
Пример #2
0
        private string GetDetailFromResourceUriStringByOrdinal(UsageAggregate rateUsage, int ordinal = 8)
        {
            if (rateUsage.Properties.InstanceDataRaw != null && rateUsage.Properties.InstanceData?.MicrosoftResources?.ResourceUri != null)
            {
                try
                {
                    var instanceParts = rateUsage.Properties.InstanceData.MicrosoftResources.ResourceUri.Split('/');
                    if (instanceParts.Length > 7)
                    {
                        return(instanceParts[8]);
                    }
                }
                catch (Exception)
                {
                    return(null);
                }
            }

            return("");
        }
Пример #3
0
        private string GetDetailFromResourceUriString(UsageAggregate rateUsage, string stringtoMatch)
        {
            if (rateUsage.Properties.InstanceDataRaw != null && rateUsage.Properties.InstanceData?.MicrosoftResources?.ResourceUri != null)
            {
                var instanceParts = rateUsage.Properties.InstanceData.MicrosoftResources.ResourceUri.Split('/');
                for (int i = 0; i < instanceParts.Length; i++)
                {
                    if (instanceParts[i] == stringtoMatch)
                    {
                        return(instanceParts[i + 1]);
                    }
                }
            }
            else if (rateUsage.Properties.InfoFields?.Project != null && stringtoMatch == "resourceGroups")
            {
                return(rateUsage.Properties.InfoFields.Project);
            }

            return(null);
        }
Пример #4
0
 private string GetDetailedResourceName(UsageAggregate rateUsage)
 {
     return(GetLastPositionFromResourceUriString(rateUsage));
 }
Пример #5
0
 private string GetResourceName(UsageAggregate rateUsage)
 {
     return(GetDetailFromResourceUriStringByOrdinal(rateUsage));
 }
Пример #6
0
 private string GetResourceProvider(UsageAggregate rateUsage)
 {
     return(GetDetailFromResourceUriString(rateUsage, "providers"));
 }
Пример #7
0
 private string GetResourceGroup(UsageAggregate rateUsage)
 {
     return(GetDetailFromResourceUriString(rateUsage, "resourceGroups"));
 }