public void InspectAndUpdatePhoto(Photo photo, string categoryName) { //Fetch Exif Information photo.PhotoDetails.AddRange(ExifInspector.GetInfo(photo.SourceFilePath)); try { string mosModel = Properties.Settings.Default.MOSModel; PhotoResult photoQualityResult = this.PhotoQualityInspector.AnalyzePhoto(photo.SourceFilePath, categoryName, Properties.Settings.Default.MOSModel, false); if (photoQualityResult != null) { //Fetch the photo details foreach (VQHelper.Parameter parameter in photoQualityResult.PhotoDetails) { PhotoDetail photoDetail = new PhotoDetail(); photoDetail.ParameterName = parameter.ParameterName; photoDetail.Value = parameter.Value < 0 ? Double.NaN: Math.Round(parameter.Value, 2); photoDetail.ValueString = Properties.Resources.NA; photoDetail.DisplayPreference = parameter.DisplayPreference; photo.PhotoDetails.Add(photoDetail); } //Fetch visualization images foreach (VQHelper.VisualizationImage parameter in photoQualityResult.VisualizationImages) { VisualizationImage visualizationImage = new VisualizationImage(); visualizationImage.Visualization = parameter.Visualization; visualizationImage.FilePath = parameter.FilePath; photo.VisualizationImages.Add(visualizationImage); } } } catch (Exception exception) { MessageBox.Show(Properties.Resources.ExceptionDetails + " " + exception.ToString(), Properties.Resources.PhotoProcessingError); } }