static async Task <string> GetApiVersion(ResourceItem resource) { ResourceType matchingItem = _resourceTypes.Where(r => r.Type == resource.Type).FirstOrDefault(); if (matchingItem != null) { _log.Verbose("API version found in ResourceTypes table"); return(matchingItem.ApiVersion); } else { string apiVersion = await _resourceManager.GetApiVersion(resource.Type); if (!String.IsNullOrEmpty(apiVersion)) { _log.Verbose("Got API version from resource maanger service"); await AddResourceType(resource, apiVersion); return(apiVersion); } else { throw new Exception("Unable to get API version"); } } }