Loading INAF.Apps.Uwp.SLabDataManager/Charts/Containers/SpectraContainer.cs +6 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers set { SetProperty(ref isWorkInProgress, value); } } public SpectrumType LastOpenedSpectrumType { get; private set; } public string YAxisTitle { get; protected set; } protected ObservableCollection<SpectrumSummaryModel> summaries; Loading Loading @@ -166,6 +168,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers #region spectra methods public async Task addOrUpdateSpectrumAsync(IChartSpectrumModel spectrum) { LastOpenedSpectrumType = spectrum.Type; if (isAnySummaryOfType(spectrum.Type)) tryGetSummaryOfType(spectrum.Type).create(spectrum); Loading Loading @@ -265,6 +269,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers public void init() { LastOpenedSpectrumType = SpectrumType.None; IsAnySpectrumLoaded = false; IsAnySpectrumLoadedOrRemoved = false; IsAnySpectrumRemoved = false; Loading INAF.Apps.Uwp.SLabDataManager/Converters/SpectraConverters.cs +6 −6 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters spectrumTypes.Add((string)parameter); } SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); bool areSpectraFound = true; foreach (string spectrumType in spectrumTypes) Loading Loading @@ -77,7 +77,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters spectrumTypes.Add((string)parameter); } SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); bool isSpectrumFound = false; foreach (string spectrumType in spectrumTypes) Loading Loading @@ -122,7 +122,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters spectrumTypes.Add((string)parameter); } SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); bool isSpectrumFound = false; foreach (string spectrumType in spectrumTypes) Loading Loading @@ -156,7 +156,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters { var smoothingViewModel = Ioc.Default.GetRequiredService<SmoothingViewModel>(); var spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; var spectraContainer = Ioc.Default.GetService<SpectraContainer>(); var destSpectrumType = smoothingViewModel.getDestSpectrumType(smoothingViewModel.SelectedSpectrumType); Loading @@ -183,7 +183,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters string _spectrumType = (string)parameter; SpectrumType spectrumType = _spectrumType.ToSpectrumType(); SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); IChartSpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType); if (spectrum != null) return spectrum.IsSavedOnCloud; Loading Loading @@ -211,7 +211,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters string _spectrumType = (string)parameter; SpectrumType spectrumType = _spectrumType.ToSpectrumType(); SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); return spectraContainer.tryGetSpectrumOfType(spectrumType); } catch (Exception) Loading INAF.Apps.Uwp.SLabDataManager/Converters/SpectrumSummaryConverters.cs +0 −140 Original line number Diff line number Diff line using CommunityToolkit.Mvvm.DependencyInjection; using CommunityToolkit.Mvvm.Input; using INAF.Apps.Uwp.SLabDataManager.Charts.Containers; using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Helpers.UI; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Libraries.NetStandard.SLabCommonModels.Extensions; using System; using Windows.UI.Xaml; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Media.Imaging; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Converters { public sealed class SpectrumSummaryFilepathConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { try { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; return XamlHelpers.GetSpectrumFilepath(spectraContainer, spectrumType); } catch (Exception) { return string.Empty; } } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToImageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; BitmapImage bitmapImage = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Ok.png")); break; case FileReadingStatus.Warning: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Warning.png")); break; case FileReadingStatus.Error: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Error.png")); break; } return bitmapImage; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToMessageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; return XamlHelpers.GetSpectrumFileReadingText(spectraContainer, spectrumType); } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToSolidColorBrushConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SolidColorBrush solidColorBrush = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: solidColorBrush = Constants.Constants.GREEN.ToSolidColorBrush(); break; case FileReadingStatus.Warning: solidColorBrush = Constants.Constants.YELLOW.ToSolidColorBrush(); break; case FileReadingStatus.Error: solidColorBrush = Constants.Constants.RED.ToSolidColorBrush(); break; } return solidColorBrush; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; Visibility visibility = Visibility.Collapsed; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.None: visibility = Visibility.Collapsed; break; case FileReadingStatus.Ok: case FileReadingStatus.Warning: case FileReadingStatus.Error: visibility = Visibility.Visible; break; } return visibility; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummarySaveFileConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) Loading INAF.Apps.Uwp.SLabDataManager/Extensions/Extensions.cs +7 −0 Original line number Diff line number Diff line Loading @@ -14,12 +14,14 @@ using INAF.Libraries.NetStandard.SLabCommonModels.Models.Spectrum.ProcessedSpect using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using Telerik.UI.Xaml.Controls.Chart; using Windows.Data.Xml.Dom; using Windows.UI; using Windows.UI.Xaml.Media; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Extensions Loading Loading @@ -597,6 +599,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions return string.Join(string.Empty, "color", type.ToString().ToLowerInvariant()); } public static string ToFileExt(this FileExt fileExt) { return string.Join(string.Empty, ".", fileExt.GetDescription()); } public static SegmentFitSettingsModel ToFitSegmentModel(this Models.Fit.SegmentFitModel segment) { return new SegmentFitSettingsModel(segment.Id, Loading INAF.Apps.Uwp.SLabDataManager/Helpers/UI/XamlHelpers.cs +88 −4 Original line number Diff line number Diff line Loading @@ -3,7 +3,14 @@ using INAF.Apps.Uwp.SLabDataManager.Charts.Containers; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Chart; using INAF.Libraries.NetStandard.SLabCommonModels.Extensions; using System.Reflection.Metadata; using System; using Windows.UI.Xaml.Media.Imaging; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using Windows.UI.Xaml; using Windows.UI.Xaml.Media; using INAF.Apps.Uwp.SLabDataManager.Extensions; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI { Loading Loading @@ -36,21 +43,97 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI return string.Empty; } #region spectra public static IChartSpectrumModel GetSpectrumOfType(SpectraContainer spectraContainer, string type) { return spectraContainer.tryGetSpectrumOfType(type.ToSpectrumType()); } public static SpectrumSummaryModel GetSpectrumSummaryOfType(SpectraContainer spectraContainer, string type) public static bool IsAnySpectrumOfType(SpectraContainer spectraContainer, string type) { return spectraContainer.tryGetSummaryOfType(type.ToSpectrumType()); return spectraContainer.isAnySpectrumOfType(type.ToSpectrumType()); } #endregion public static bool IsAnySpectrumOfType(SpectraContainer spectraContainer, string type) #region spectra summaries public static BitmapImage GetSpectrumSummaryFileReadingStatusImage(SpectraContainer spectraContainer, string spectrumType) { return spectraContainer.isAnySpectrumOfType(type.ToSpectrumType()); BitmapImage bitmapImage = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Ok.png")); break; case FileReadingStatus.Warning: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Warning.png")); break; case FileReadingStatus.Error: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Error.png")); break; } return bitmapImage; } public static SolidColorBrush GetSpectrumSummaryFileReadingStatusSolidColorBrush(SpectraContainer spectraContainer, string spectrumType) { SolidColorBrush solidColorBrush = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: solidColorBrush = Constants.Constants.GREEN.ToSolidColorBrush(); break; case FileReadingStatus.Warning: solidColorBrush = Constants.Constants.YELLOW.ToSolidColorBrush(); break; case FileReadingStatus.Error: solidColorBrush = Constants.Constants.RED.ToSolidColorBrush(); break; } return solidColorBrush; } public static Visibility GetSpectrumSummaryFileReadingStatusVisibility(SpectraContainer spectraContainer, string spectrumType) { Visibility visibility = Visibility.Collapsed; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.None: visibility = Visibility.Collapsed; break; case FileReadingStatus.Ok: case FileReadingStatus.Warning: case FileReadingStatus.Error: visibility = Visibility.Visible; break; } return visibility; } public static SpectrumSummaryModel GetSpectrumSummaryOfType(SpectraContainer spectraContainer, string spectrumType) { return spectraContainer.tryGetSummaryOfType(spectrumType.ToSpectrumType()); } public static bool GetIsSpectrumSavedOnCloudConverter(SpectraContainer spectraContainer, string spectrumType) { IChartSpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType.ToSpectrumType()); if (spectrum != null) return spectrum.IsSavedOnCloud; else return false; } #endregion #region cloud permissions public static bool IsSaveOnCloudPermissionDenied() { var permissionHelper = Ioc.Default.GetRequiredService<PermissionsHelper>(); Loading @@ -62,5 +145,6 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI var permissionHelper = Ioc.Default.GetRequiredService<PermissionsHelper>(); return permissionHelper.isSaveOnCloudFromAppAllowed(); } #endregion } } Loading
INAF.Apps.Uwp.SLabDataManager/Charts/Containers/SpectraContainer.cs +6 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers set { SetProperty(ref isWorkInProgress, value); } } public SpectrumType LastOpenedSpectrumType { get; private set; } public string YAxisTitle { get; protected set; } protected ObservableCollection<SpectrumSummaryModel> summaries; Loading Loading @@ -166,6 +168,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers #region spectra methods public async Task addOrUpdateSpectrumAsync(IChartSpectrumModel spectrum) { LastOpenedSpectrumType = spectrum.Type; if (isAnySummaryOfType(spectrum.Type)) tryGetSummaryOfType(spectrum.Type).create(spectrum); Loading Loading @@ -265,6 +269,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers public void init() { LastOpenedSpectrumType = SpectrumType.None; IsAnySpectrumLoaded = false; IsAnySpectrumLoadedOrRemoved = false; IsAnySpectrumRemoved = false; Loading
INAF.Apps.Uwp.SLabDataManager/Converters/SpectraConverters.cs +6 −6 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters spectrumTypes.Add((string)parameter); } SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); bool areSpectraFound = true; foreach (string spectrumType in spectrumTypes) Loading Loading @@ -77,7 +77,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters spectrumTypes.Add((string)parameter); } SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); bool isSpectrumFound = false; foreach (string spectrumType in spectrumTypes) Loading Loading @@ -122,7 +122,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters spectrumTypes.Add((string)parameter); } SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); bool isSpectrumFound = false; foreach (string spectrumType in spectrumTypes) Loading Loading @@ -156,7 +156,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters { var smoothingViewModel = Ioc.Default.GetRequiredService<SmoothingViewModel>(); var spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; var spectraContainer = Ioc.Default.GetService<SpectraContainer>(); var destSpectrumType = smoothingViewModel.getDestSpectrumType(smoothingViewModel.SelectedSpectrumType); Loading @@ -183,7 +183,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters string _spectrumType = (string)parameter; SpectrumType spectrumType = _spectrumType.ToSpectrumType(); SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); IChartSpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType); if (spectrum != null) return spectrum.IsSavedOnCloud; Loading Loading @@ -211,7 +211,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters string _spectrumType = (string)parameter; SpectrumType spectrumType = _spectrumType.ToSpectrumType(); SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); return spectraContainer.tryGetSpectrumOfType(spectrumType); } catch (Exception) Loading
INAF.Apps.Uwp.SLabDataManager/Converters/SpectrumSummaryConverters.cs +0 −140 Original line number Diff line number Diff line using CommunityToolkit.Mvvm.DependencyInjection; using CommunityToolkit.Mvvm.Input; using INAF.Apps.Uwp.SLabDataManager.Charts.Containers; using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Helpers.UI; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Libraries.NetStandard.SLabCommonModels.Extensions; using System; using Windows.UI.Xaml; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Media.Imaging; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Converters { public sealed class SpectrumSummaryFilepathConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { try { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; return XamlHelpers.GetSpectrumFilepath(spectraContainer, spectrumType); } catch (Exception) { return string.Empty; } } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToImageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; BitmapImage bitmapImage = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Ok.png")); break; case FileReadingStatus.Warning: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Warning.png")); break; case FileReadingStatus.Error: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Error.png")); break; } return bitmapImage; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToMessageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; return XamlHelpers.GetSpectrumFileReadingText(spectraContainer, spectrumType); } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToSolidColorBrushConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; SolidColorBrush solidColorBrush = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: solidColorBrush = Constants.Constants.GREEN.ToSolidColorBrush(); break; case FileReadingStatus.Warning: solidColorBrush = Constants.Constants.YELLOW.ToSolidColorBrush(); break; case FileReadingStatus.Error: solidColorBrush = Constants.Constants.RED.ToSolidColorBrush(); break; } return solidColorBrush; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummaryFileReadingStatusToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { string spectrumType = (string)parameter; SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer; Visibility visibility = Visibility.Collapsed; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.None: visibility = Visibility.Collapsed; break; case FileReadingStatus.Ok: case FileReadingStatus.Warning: case FileReadingStatus.Error: visibility = Visibility.Visible; break; } return visibility; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } public sealed class SpectrumSummarySaveFileConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) Loading
INAF.Apps.Uwp.SLabDataManager/Extensions/Extensions.cs +7 −0 Original line number Diff line number Diff line Loading @@ -14,12 +14,14 @@ using INAF.Libraries.NetStandard.SLabCommonModels.Models.Spectrum.ProcessedSpect using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using Telerik.UI.Xaml.Controls.Chart; using Windows.Data.Xml.Dom; using Windows.UI; using Windows.UI.Xaml.Media; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Extensions Loading Loading @@ -597,6 +599,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions return string.Join(string.Empty, "color", type.ToString().ToLowerInvariant()); } public static string ToFileExt(this FileExt fileExt) { return string.Join(string.Empty, ".", fileExt.GetDescription()); } public static SegmentFitSettingsModel ToFitSegmentModel(this Models.Fit.SegmentFitModel segment) { return new SegmentFitSettingsModel(segment.Id, Loading
INAF.Apps.Uwp.SLabDataManager/Helpers/UI/XamlHelpers.cs +88 −4 Original line number Diff line number Diff line Loading @@ -3,7 +3,14 @@ using INAF.Apps.Uwp.SLabDataManager.Charts.Containers; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Chart; using INAF.Libraries.NetStandard.SLabCommonModels.Extensions; using System.Reflection.Metadata; using System; using Windows.UI.Xaml.Media.Imaging; using static INAF.Apps.Uwp.SLabDataManager.Constants.Enums; using Windows.UI.Xaml; using Windows.UI.Xaml.Media; using INAF.Apps.Uwp.SLabDataManager.Extensions; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI { Loading Loading @@ -36,21 +43,97 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI return string.Empty; } #region spectra public static IChartSpectrumModel GetSpectrumOfType(SpectraContainer spectraContainer, string type) { return spectraContainer.tryGetSpectrumOfType(type.ToSpectrumType()); } public static SpectrumSummaryModel GetSpectrumSummaryOfType(SpectraContainer spectraContainer, string type) public static bool IsAnySpectrumOfType(SpectraContainer spectraContainer, string type) { return spectraContainer.tryGetSummaryOfType(type.ToSpectrumType()); return spectraContainer.isAnySpectrumOfType(type.ToSpectrumType()); } #endregion public static bool IsAnySpectrumOfType(SpectraContainer spectraContainer, string type) #region spectra summaries public static BitmapImage GetSpectrumSummaryFileReadingStatusImage(SpectraContainer spectraContainer, string spectrumType) { return spectraContainer.isAnySpectrumOfType(type.ToSpectrumType()); BitmapImage bitmapImage = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Ok.png")); break; case FileReadingStatus.Warning: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Warning.png")); break; case FileReadingStatus.Error: bitmapImage = new BitmapImage(new Uri("ms-appx:///Assets/icons/Error.png")); break; } return bitmapImage; } public static SolidColorBrush GetSpectrumSummaryFileReadingStatusSolidColorBrush(SpectraContainer spectraContainer, string spectrumType) { SolidColorBrush solidColorBrush = null; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.Ok: solidColorBrush = Constants.Constants.GREEN.ToSolidColorBrush(); break; case FileReadingStatus.Warning: solidColorBrush = Constants.Constants.YELLOW.ToSolidColorBrush(); break; case FileReadingStatus.Error: solidColorBrush = Constants.Constants.RED.ToSolidColorBrush(); break; } return solidColorBrush; } public static Visibility GetSpectrumSummaryFileReadingStatusVisibility(SpectraContainer spectraContainer, string spectrumType) { Visibility visibility = Visibility.Collapsed; FileReadingStatus status = XamlHelpers.GetSpectrumFileReadingStatus(spectraContainer, spectrumType); switch (status) { case FileReadingStatus.None: visibility = Visibility.Collapsed; break; case FileReadingStatus.Ok: case FileReadingStatus.Warning: case FileReadingStatus.Error: visibility = Visibility.Visible; break; } return visibility; } public static SpectrumSummaryModel GetSpectrumSummaryOfType(SpectraContainer spectraContainer, string spectrumType) { return spectraContainer.tryGetSummaryOfType(spectrumType.ToSpectrumType()); } public static bool GetIsSpectrumSavedOnCloudConverter(SpectraContainer spectraContainer, string spectrumType) { IChartSpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType.ToSpectrumType()); if (spectrum != null) return spectrum.IsSavedOnCloud; else return false; } #endregion #region cloud permissions public static bool IsSaveOnCloudPermissionDenied() { var permissionHelper = Ioc.Default.GetRequiredService<PermissionsHelper>(); Loading @@ -62,5 +145,6 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.UI var permissionHelper = Ioc.Default.GetRequiredService<PermissionsHelper>(); return permissionHelper.isSaveOnCloudFromAppAllowed(); } #endregion } }