BestFriendService.Service.GenerateWideIconWithCity C# (CSharp) Метод

GenerateWideIconWithCity() приватный Метод

private GenerateWideIconWithCity ( string city ) : Task
city string
Результат Task
        private async Task<String> GenerateWideIconWithCity(string city)
        {
            string filename = city + ".png";

            try
            {
                var pkgFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
                var assetsFolder = await pkgFolder.GetFolderAsync("Assets");
                var xamlFile = await assetsFolder.GetFileAsync("cityTile.xml");
                var xamlContent = await FileIO.ReadTextAsync(xamlFile);
                Windows.UI.Xaml.FrameworkElement drawRoot = (FrameworkElement)XamlReader.Load(xamlContent);

                Image image = (Image)drawRoot.FindName("Image");
                TextBlock name = (TextBlock)drawRoot.FindName("Name");

                image.Source = new BitmapImage(new Uri("ms-appx:///Assets/city/" + city.ToLower() + ".jpg"));
                name.Text = city;


                RenderTargetBitmap rtb = new RenderTargetBitmap();
                await rtb.RenderAsync(drawRoot, 280, 140);
                var buffer = await rtb.GetPixelsAsync();
                byte[] outputArray = buffer.ToArray();

                var localFolder = ApplicationData.Current.LocalFolder;
                var rtbData = await localFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
                using (var rtbStream = await rtbData.OpenAsync(FileAccessMode.ReadWrite))
                {
                    var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, rtbStream);
                    encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied, (uint)rtb.PixelWidth, (uint)rtb.PixelHeight, 96, 96, outputArray);
                    await encoder.FlushAsync();
                }


            }
            catch (Exception ex)
            {
                var s = ex.Message;
                filename = null;
            }

            return filename;
        }
    }