/// <summary> /// Gets an image URL by sending an HTTP POST to {baseAddress}/{imageType} /// </summary> /// <param name="parameters">Required parameters to be set: StartDate, EndDate, ImageId, Latitude, Longitude</param> /// <param name="imageId">ID of image</param> /// <param name="imageType">Type of image to be requested (NDVI, Actual ET, etc)</param> /// <returns></returns> public async Task <Dictionary <EEFluxImageTypes, EEFluxImage> > GetImageUriAsync( CafEEFluxParameters parameters, string imageId, EEFluxImageTypes imageType) { EEFluxRequest requestContent = getEEFluxRequest( parameters, imageId); StringContent content = new StringContent(JsonConvert.SerializeObject(requestContent)); Uri uri = new Uri(baseAddress, this.imageTypeToUriMap[imageType]); HttpResponseMessage response = await client.PostAsync( uri.ToString(), content); if (response.IsSuccessStatusCode) { string result = response.Content.ReadAsStringAsync().Result; Dictionary <EEFluxImageTypes, EEFluxImage> imageUris = JsonConvert.DeserializeObject < Dictionary <EEFluxImageTypes, EEFluxImage> >(result); return(imageUris); } else { return(new Dictionary <EEFluxImageTypes, EEFluxImage>()); } }
private List <EEFluxImageTypes> parseImageTypes( string commandOptionValue) { var result = new List <EEFluxImageTypes>(); string[] imageStrs = commandOptionValue .Trim() .Replace(" ", "") .Split(","); foreach (var imageStr in imageStrs) { EEFluxImageTypes image = (EEFluxImageTypes)System.Enum.Parse( typeof(EEFluxImageTypes), imageStr, true); result.Add(image); } return(result); }