/// <summary>
        /// Get the cost for the specified list of mapped managed disks
        /// </summary>
        /// <param name="listofDisks">the list of mapped disks</param>
        /// <param name="location">the Azure location</param>
        /// <param name="rateCalc">the object that can fetch the rates for Azure resources</param>
        /// <returns> Returns the total estimated cost for the list of mapped managed disks</returns>
        private static double GetCostforSpecifiedListofDisks(List <AzureMappedDisks> listofDisks, string location, AzureResourceRateCalc rateCalc)
        {
            double totalDiskCost = 0;

            try
            {
                foreach (AzureMappedDisks managedDisks in listofDisks)
                {
                    AzureResourceInfo resourceInfo = new AzureResourceInfo()
                    {
                        MeterCategory    = AzureResourceMeterConstants.VMManagedDiskMeterCategory,
                        MeterName        = managedDisks.MappedDisk.DiskMeterName,
                        MeterRegion      = location,
                        MeterSubCategory = AzureResourceMeterConstants.VMManagedDiskMeterSubCategory
                    };

                    totalDiskCost = totalDiskCost + (rateCalc.GetResourceRate(resourceInfo) * managedDisks.DiskCount);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(totalDiskCost);
        }
        /// <summary>
        /// Get the Azure VM SKU cost
        /// </summary>
        /// <param name="vmListItem">The Azure VM SKU</param>
        /// <param name="specs">The input specifications</param>
        /// <returns> Returns the Azure VM SKU cost</returns>
        private static double GetAzureVMCost(AzureVMSizeListItem vmListItem, VMSpecs specs)
        {
            double rate = 0;

            try
            {
                AzureResourceInfo resourceInfo = AzureVMMeterHelper.GetAzureResourceInfoForAzureVM(vmListItem.Name, specs.OperatingSystem, location);
                rate = rateCalc.GetResourceRate(resourceInfo);
            }
            catch (Exception)
            {
                throw;
            }

            return(rate);
        }