/// <summary>
        /// Gets the <see cref="ResourceGroupCost"/> instance.
        /// </summary>
        /// <param name="group"><see cref="ResourceGroupDateKey"/> instance.</param>
        /// <param name="records">List of <see cref="ResourceCosts"/> instances.</param>
        /// <returns>Returns the <see cref="ResourceGroupCost"/> instance.</returns>
        public static ResourceGroupCost GetResourceGroupCost(ResourceGroupDateKey group, IEnumerable <ResourceCosts> records)
        {
            var cost = new ResourceGroupCost()
            {
                ResourceGroupName = group.ResourceGroupName,
                Cost = records.Sum(p => p.CalculatedCosts)
            };

            return(cost);
        }
        /// <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);
        }