ArcGISPortalViewer.Model.TileService.CreateSecondaryTileFromWebImage C# (CSharp) Method

CreateSecondaryTileFromWebImage() public static method

public static CreateSecondaryTileFromWebImage ( string title, string id, Uri image, Rect TileProptRect, string navigateUri ) : System.Threading.Tasks.Task
title string
id string
image Uri
TileProptRect Windows.Foundation.Rect
navigateUri string
return System.Threading.Tasks.Task
        public async static Task CreateSecondaryTileFromWebImage(string title, string id, Uri image, Rect TileProptRect, string navigateUri)
        {
            try
            {
                string filename = string.Format("{0}.png", id);
                //download thumb
                HttpClient httpClient = new HttpClient();
                var response = await httpClient.GetAsync(image);
                var imageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
                using (var fs = await imageFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    using (var outStream = fs.GetOutputStreamAt(0))
                    {
                        DataWriter writer = new DataWriter(outStream);
                        writer.WriteBytes(await response.Content.ReadAsByteArrayAsync());
                        await writer.StoreAsync();
                        writer.DetachStream();
                        await outStream.FlushAsync();
                    }
                }
                await DarkenImageBottom(filename, filename); //in-place replacement of downloaded image
                Uri logo = new Uri(string.Format("ms-appdata:///local/{0}", filename));
                CreateSecondaryTile(title, id, logo, TileProptRect, navigateUri);
            }
            catch
            {
                //oops
            }
        }