Loading INAF.Apps.Uwp.SLabDataManager/App.xaml.cs +2 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Helpers.ConfigHelpers; using INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Spectrum; using INAF.Apps.Uwp.SLabDataManager.Services; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Libraries.Uwp.Logging; Loading Loading @@ -109,6 +110,7 @@ namespace INAF.Apps.Uwp.SLabDataManager .AddTransient<ConfigReader>() .AddTransient<RemoteOperationsManager>() .AddTransient<RemoteOperationsXmlReader>() .AddTransient<SpectrumModelFactory>() .AddTransient<SpectrumReader>() .AddTransient<XmlHelper>() /* view models */ Loading INAF.Apps.Uwp.SLabDataManager/Assets/xml/remoteoperations.xml +3 −2 Original line number Diff line number Diff line Loading @@ -3,7 +3,8 @@ <baseUrl>http://localhost:81</baseUrl> <operationUrls> <operation type="Authentication">Account/LoginForJwt</operation> <operation type="SaveAlignedFile">AppActions/SaveAlignedSpectrum</operation> <operation type="SaveFileOfType">AppActions/SaveSpectrumOfType</operation> <operation type="SaveAlignedFile">AppSpectraFilesActions/SaveAlignedSpectrum</operation> <operation type="SaveFileOfType">AppSpectraFilesActions/SaveSpectrumOfType</operation> <operation type="IsSavedOnCloud">AppSpectraFilesActions/IsSavedOnCloud</operation> </operationUrls> </remoteOperationsData> No newline at end of file INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs +37 −7 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Libraries.NetStandard.ScienceModels.Extensions; using INAF.Libraries.NetStandard.ScienceModels.Spectra; Loading @@ -12,6 +13,7 @@ using System.Linq; using System.Threading.Tasks; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; using SpectrumModel = INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel; namespace INAF.Apps.Uwp.SLabDataManager.Charts { Loading @@ -38,8 +40,22 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); //foreach (var spectrum in spectra) // spectrum.PropertyChanged += Spectrum_PropertyChanged; //spectra.All(x => { x.PropertyChanged += Spectrum_PropertyChanged; return true; }); } private void Spectrum_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { UpdateUIHelper.UpdateUIAsync(() => { IsAnySpectrumUpdated = true; }); } #region properties public string ErrorMessage { get; private set; } private bool isError; Loading @@ -56,6 +72,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts set { SetProperty(ref isAnySummaryUpdated, value); } } public bool IsSpectrumAligned { get; set; } private bool isAnySpectrumLoaded; public bool IsAnySpectrumLoaded { Loading @@ -67,7 +85,16 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } public bool IsSpectrumAligned { get; set; } private bool isAnySpectrumUpdated; public bool IsAnySpectrumUpdated { get { return isAnySpectrumUpdated; } set { if (SetProperty(ref isAnySpectrumUpdated, value)) isAnySpectrumUpdated = false; // reset value to make it working @ the next spectrum loading } } public SelectedRefBand SelectedRefBand { get; private set; } Loading Loading @@ -122,6 +149,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } #endregion #endregion #endregion public void clear() { Loading Loading @@ -217,9 +245,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } tryGetSummaryOfType(spectrum.Type).init(spectrum); spectrum.PropertyChanged += Spectrum_PropertyChanged; } public SpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType) public INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType) { return Spectra.FirstOrDefault(x => x.Type == spectrumType); } Loading Loading @@ -303,7 +333,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts IsError = false; ErrorMessage = string.Empty; SpectrumModel aligningSpectrum = null; INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum = null; string exMsg = string.Empty; await Task.Run(() => Loading Loading @@ -355,7 +385,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } private void alignLeftSide(ref SpectrumModel aligningSpectrum, private void alignLeftSide(ref INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum, WavelengthModel refLowSeparator, double refSegmentLeftMean) { Loading @@ -378,7 +408,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } private void alignRightSide(ref SpectrumModel aligningSpectrum, private void alignRightSide(ref INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum, WavelengthModel refHighSeparator, double refSegmentRightMean) { Loading @@ -398,8 +428,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } private void multiplyByRef(ref SpectrumModel aligningSpectrum, SpectrumModel refSpectrum) private void multiplyByRef(ref INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum, INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel refSpectrum) { double refMaxY = refSpectrum.Elements.Max(x => x.Y); Loading INAF.Apps.Uwp.SLabDataManager/Converters/SpectrumConverter.cs 0 → 100644 +38 −0 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Libraries.NetStandard.ScienceModels.Extensions; using Microsoft.Toolkit.Mvvm.DependencyInjection; using System; using Windows.UI.Xaml.Data; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; using SpectrumModel = INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel; namespace INAF.Apps.Uwp.SLabDataManager.Converters { public sealed class IsSpectrumSavedOnCloudConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { try { string _spectrumType = (string)parameter; SpectrumType spectrumType = _spectrumType.ToSpectrumType(); SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); SpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType); if (spectrum != null) return spectrum.IsSavedOnCloud; else return false; } catch (Exception) { return string.Empty; } } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } } INAF.Apps.Uwp.SLabDataManager/Helpers/RemoteOperations/RemoteOperationsManager.cs +5 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations this.logger = logger; } public async Task<bool> isSavedOnCloudAsync(IsFileSavedOnCloudRequestModel model) { return await postAsync(model, RemoteOperationType.IsSavedOnCloud); } public async Task<bool> saveAlignedSpectrumAsync(SaveAlignedSpectrumRequestModel model) { return await postAsync(model, RemoteOperationType.SaveAlignedFile); Loading Loading
INAF.Apps.Uwp.SLabDataManager/App.xaml.cs +2 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Helpers.ConfigHelpers; using INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Apps.Uwp.SLabDataManager.Models.Spectrum; using INAF.Apps.Uwp.SLabDataManager.Services; using INAF.Apps.Uwp.SLabDataManager.ViewModels; using INAF.Libraries.Uwp.Logging; Loading Loading @@ -109,6 +110,7 @@ namespace INAF.Apps.Uwp.SLabDataManager .AddTransient<ConfigReader>() .AddTransient<RemoteOperationsManager>() .AddTransient<RemoteOperationsXmlReader>() .AddTransient<SpectrumModelFactory>() .AddTransient<SpectrumReader>() .AddTransient<XmlHelper>() /* view models */ Loading
INAF.Apps.Uwp.SLabDataManager/Assets/xml/remoteoperations.xml +3 −2 Original line number Diff line number Diff line Loading @@ -3,7 +3,8 @@ <baseUrl>http://localhost:81</baseUrl> <operationUrls> <operation type="Authentication">Account/LoginForJwt</operation> <operation type="SaveAlignedFile">AppActions/SaveAlignedSpectrum</operation> <operation type="SaveFileOfType">AppActions/SaveSpectrumOfType</operation> <operation type="SaveAlignedFile">AppSpectraFilesActions/SaveAlignedSpectrum</operation> <operation type="SaveFileOfType">AppSpectraFilesActions/SaveSpectrumOfType</operation> <operation type="IsSavedOnCloud">AppSpectraFilesActions/IsSavedOnCloud</operation> </operationUrls> </remoteOperationsData> No newline at end of file
INAF.Apps.Uwp.SLabDataManager/Charts/SpectraContainer.cs +37 −7 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Extensions; using INAF.Apps.Uwp.SLabDataManager.Helpers; using INAF.Apps.Uwp.SLabDataManager.Models; using INAF.Libraries.NetStandard.ScienceModels.Extensions; using INAF.Libraries.NetStandard.ScienceModels.Spectra; Loading @@ -12,6 +13,7 @@ using System.Linq; using System.Threading.Tasks; using static INAF.Libraries.NetStandard.ScienceModels.Enums.Enums; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; using SpectrumModel = INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel; namespace INAF.Apps.Uwp.SLabDataManager.Charts { Loading @@ -38,8 +40,22 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts XAxisMajorStepValues = new List<double>(2); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_0DOT1); XAxisMajorStepValues.Add(Constants.Constants.X_AXIS_MAJOR_STEP_100); //foreach (var spectrum in spectra) // spectrum.PropertyChanged += Spectrum_PropertyChanged; //spectra.All(x => { x.PropertyChanged += Spectrum_PropertyChanged; return true; }); } private void Spectrum_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { UpdateUIHelper.UpdateUIAsync(() => { IsAnySpectrumUpdated = true; }); } #region properties public string ErrorMessage { get; private set; } private bool isError; Loading @@ -56,6 +72,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts set { SetProperty(ref isAnySummaryUpdated, value); } } public bool IsSpectrumAligned { get; set; } private bool isAnySpectrumLoaded; public bool IsAnySpectrumLoaded { Loading @@ -67,7 +85,16 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } public bool IsSpectrumAligned { get; set; } private bool isAnySpectrumUpdated; public bool IsAnySpectrumUpdated { get { return isAnySpectrumUpdated; } set { if (SetProperty(ref isAnySpectrumUpdated, value)) isAnySpectrumUpdated = false; // reset value to make it working @ the next spectrum loading } } public SelectedRefBand SelectedRefBand { get; private set; } Loading Loading @@ -122,6 +149,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } #endregion #endregion #endregion public void clear() { Loading Loading @@ -217,9 +245,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } tryGetSummaryOfType(spectrum.Type).init(spectrum); spectrum.PropertyChanged += Spectrum_PropertyChanged; } public SpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType) public INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType) { return Spectra.FirstOrDefault(x => x.Type == spectrumType); } Loading Loading @@ -303,7 +333,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts IsError = false; ErrorMessage = string.Empty; SpectrumModel aligningSpectrum = null; INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum = null; string exMsg = string.Empty; await Task.Run(() => Loading Loading @@ -355,7 +385,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } private void alignLeftSide(ref SpectrumModel aligningSpectrum, private void alignLeftSide(ref INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum, WavelengthModel refLowSeparator, double refSegmentLeftMean) { Loading @@ -378,7 +408,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } private void alignRightSide(ref SpectrumModel aligningSpectrum, private void alignRightSide(ref INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum, WavelengthModel refHighSeparator, double refSegmentRightMean) { Loading @@ -398,8 +428,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts } } private void multiplyByRef(ref SpectrumModel aligningSpectrum, SpectrumModel refSpectrum) private void multiplyByRef(ref INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel aligningSpectrum, INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel refSpectrum) { double refMaxY = refSpectrum.Elements.Max(x => x.Y); Loading
INAF.Apps.Uwp.SLabDataManager/Converters/SpectrumConverter.cs 0 → 100644 +38 −0 Original line number Diff line number Diff line using INAF.Apps.Uwp.SLabDataManager.Charts; using INAF.Libraries.NetStandard.ScienceModels.Extensions; using Microsoft.Toolkit.Mvvm.DependencyInjection; using System; using Windows.UI.Xaml.Data; using static INAF.Libraries.NetStandard.SLabCommonModels.Enums.Enums; using SpectrumModel = INAF.Apps.Uwp.SLabDataManager.Models.Spectrum.SpectrumModel; namespace INAF.Apps.Uwp.SLabDataManager.Converters { public sealed class IsSpectrumSavedOnCloudConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { try { string _spectrumType = (string)parameter; SpectrumType spectrumType = _spectrumType.ToSpectrumType(); SpectraContainer spectraContainer = Ioc.Default.GetService<SpectraContainer>(); SpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType); if (spectrum != null) return spectrum.IsSavedOnCloud; else return false; } catch (Exception) { return string.Empty; } } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } }
INAF.Apps.Uwp.SLabDataManager/Helpers/RemoteOperations/RemoteOperationsManager.cs +5 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations this.logger = logger; } public async Task<bool> isSavedOnCloudAsync(IsFileSavedOnCloudRequestModel model) { return await postAsync(model, RemoteOperationType.IsSavedOnCloud); } public async Task<bool> saveAlignedSpectrumAsync(SaveAlignedSpectrumRequestModel model) { return await postAsync(model, RemoteOperationType.SaveAlignedFile); Loading