object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { Operation operation = value as Operation; if (operation == null) { return(null); } byte[] buffer = null; FileInfo imagePath = new FileInfo(Path.Combine(CacheLocation, operation.Id + ".png")); if (!imagePath.Exists) { buffer = DownloadRoutePlan(operation); if (buffer == null) { return(ClientExtensions.GetPackUri(this, "Images/NoRouteImage.png")); } imagePath.Directory.Create(); File.WriteAllBytes(imagePath.FullName, buffer); } else { buffer = File.ReadAllBytes(imagePath.FullName); } BitmapImage image = new BitmapImage(); image.BeginInit(); image.StreamSource = new MemoryStream(buffer); image.EndInit(); return(image); }
/// <summary> /// Returns the content from the "No route image" image as an image. /// </summary> /// <returns></returns> public static ImageSource GetNoRouteImage() { return(new BitmapImage(ClientExtensions.GetPackUri("AlarmWorkflow.Windows.UI", NoRouteImagePath))); }