Commit ab966887 authored by Francesco Carraro's avatar Francesco Carraro
Browse files

completed refactoring for IChartSpectrumModel

parent a2dae66d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -10,8 +10,8 @@ using INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart;
using INAF.Apps.Uwp.SLabDataManager.Helpers.UI.Chart.ProcessingHelpers;
using INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders;
using INAF.Apps.Uwp.SLabDataManager.Models;
using INAF.Apps.Uwp.SLabDataManager.Models.Chart;
using INAF.Apps.Uwp.SLabDataManager.Models.Fit;
using INAF.Apps.Uwp.SLabDataManager.Models.Spectrum;
using INAF.Apps.Uwp.SLabDataManager.Services;
using INAF.Apps.Uwp.SLabDataManager.ViewModels;
using INAF.Apps.Uwp.SLabDataManager.ViewModels.ContentDialogsViewModel;
@@ -148,6 +148,7 @@ namespace INAF.Apps.Uwp.SLabDataManager
                .AddSingleton<WorkingItemsModel>()
                /* scoped */
                .AddScoped<ActionQuestionViewModel>()
                .AddScoped<LegendItemsHelper>()
                .AddScoped<StorageItemsHelper>()
                /* transient */
                .AddTransient<AnimationsHelper>()
@@ -161,7 +162,7 @@ namespace INAF.Apps.Uwp.SLabDataManager
                .AddTransient<RemoteOperationsXmlReader>()
                .AddTransient<SmoothingDefaultBoundariesReader>()
                .AddTransient<SmoothingProcessingHelper>()
                .AddTransient<SpectrumModelFactory>()
                .AddTransient<SpectraFactory>()
                .AddTransient<SpectrumProcessingHelper>()
                .AddTransient<SpectrumReader>()
                .AddTransient<SplineFitHelper>()
+16 −15
Original line number Diff line number Diff line
@@ -2,9 +2,10 @@
using INAF.Apps.Uwp.Charts;
using INAF.Apps.Uwp.SLabDataManager.Helpers;
using INAF.Apps.Uwp.SLabDataManager.Models;
using INAF.Apps.Uwp.SLabDataManager.Models.Spectrum;
using INAF.Apps.Uwp.SLabDataManager.Models.Chart;
using INAF.Libraries.NetStandard.ScienceModels.Extensions;
using INAF.Libraries.NetStandard.ScienceModels.Spectra;
using INAF.Libraries.NetStandard.SLabCommonModels.Models.Spectrum;
using INAF.Libraries.Uwp.Logging;
using Microsoft.Extensions.DependencyInjection;
using System;
@@ -60,8 +61,8 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers
            });
        }

        protected ObservableCollection<ISpectrumModel> spectra;
        public ObservableCollection<ISpectrumModel> Spectra
        protected ObservableCollection<IChartSpectrumModel> spectra;
        public ObservableCollection<IChartSpectrumModel> Spectra
        {
            get { return spectra; }
            protected set { SetProperty(ref spectra, value); }
@@ -163,7 +164,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers
        #endregion

        #region spectra methods
        public async Task addOrUpdateSpectrumAsync(ISpectrumModel spectrum)
        public async Task addOrUpdateSpectrumAsync(IChartSpectrumModel spectrum)
        {
            if (isAnySummaryOfType(spectrum.Type))
                tryGetSummaryOfType(spectrum.Type).create(spectrum);
@@ -207,12 +208,12 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers
            return await tryRemoveSpectrumOfTypeAsync(SpectrumType.Aligned);
        }

        public IEnumerable<ISpectrumModel> tryGetSpectraOfTypeOtherThan(IEnumerable<SpectrumType> spectrumTypes)
        public IEnumerable<IChartSpectrumModel> tryGetSpectraOfTypeOtherThan(IEnumerable<SpectrumType> spectrumTypes)
        {
            return Spectra.Where(x => !spectrumTypes.Contains(x.Type));
        }

        public ISpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType)
        public IChartSpectrumModel tryGetSpectrumOfType(SpectrumType spectrumType)
        {
            return Spectra.FirstOrDefault(x => x.Type == spectrumType);
        }
@@ -274,11 +275,11 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers

            SelectedRefBand = serviceProvider.GetRequiredService<SelectedRefBand>();

            Spectra = new ObservableCollection<ISpectrumModel>();
            Spectra = new ObservableCollection<IChartSpectrumModel>();
            Summaries = new ObservableCollection<SpectrumSummaryModel>();
        }

        protected void addSpectrum(ISpectrumModel spectrum)
        protected void addSpectrum(IChartSpectrumModel spectrum)
        {
            Spectra.Add(spectrum);

@@ -287,20 +288,20 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers
        }

        #region clone
        public ISpectrumModel getClonedEmptySpectrum(SpectrumType srcType, SpectrumType destType)
        public IChartSpectrumModel getClonedEmptySpectrum(SpectrumType srcType, SpectrumType destType)
        {
            ISpectrumModel clonedSpectrum = getClonedSpectrum(srcType, destType);
            clonedSpectrum.init();
            IChartSpectrumModel clonedSpectrum = getClonedSpectrum(srcType, destType);
            clonedSpectrum.initPoints();

            return clonedSpectrum;
        }

        public ISpectrumModel getClonedSpectrum(SpectrumType srcType, SpectrumType destType)
        public IChartSpectrumModel getClonedSpectrum(SpectrumType srcType, SpectrumType destType)
        {
            if (!isAnySpectrumOfType(srcType))
                return null;

            var clonedSpectrum = (ISpectrumModel)tryGetSpectrumOfType(srcType).Clone();
            var clonedSpectrum = (IChartSpectrumModel)tryGetSpectrumOfType(srcType).Clone();
            clonedSpectrum.setType(destType);
            clonedSpectrum.setColor();
            clonedSpectrum.updateTitle();
@@ -525,9 +526,9 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers
        #endregion

        #region retrieve aligned spectrum (by smoothing type)
        public ISpectrumModel getAlignedSpectrum()
        public IChartSpectrumModel getAlignedSpectrum()
        {
            ISpectrumModel spectrum = null;
            IChartSpectrumModel spectrum = null;

            /* look for the right aligned type by descending order of importance */
            if (isAnySpectrumOfType(SpectrumType.AlignedSmoothed))
+1 −2
Original line number Diff line number Diff line
@@ -5,8 +5,7 @@ using INAF.Apps.Uwp.SLabDataManager.Helpers;
using INAF.Apps.Uwp.SLabDataManager.Helpers.UI;
using INAF.Apps.Uwp.SLabDataManager.Models;
using INAF.Apps.Uwp.SLabDataManager.ViewModels;
using INAF.Libraries.NetStandard.Extensions;
using INAF.Libraries.NetStandard.ScienceModels.Extensions;
using INAF.Libraries.NetStandard.SLabCommonModels.Extensions;
using System;
using System.Collections.Generic;
using System.IO;
+3 −3
Original line number Diff line number Diff line
using CommunityToolkit.Mvvm.DependencyInjection;
using INAF.Apps.Uwp.SLabDataManager.Charts.Containers;
using INAF.Apps.Uwp.SLabDataManager.Models;
using INAF.Apps.Uwp.SLabDataManager.Models.Spectrum;
using INAF.Apps.Uwp.SLabDataManager.Models.Chart;
using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels;
using INAF.Libraries.NetStandard.ScienceModels.Extensions;
using INAF.Libraries.NetStandard.SLabCommonModels.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -184,7 +184,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Converters
                SpectrumType spectrumType = _spectrumType.ToSpectrumType();

                SpectraContainer spectraContainer = Ioc.Default.GetService<WorkingItemsModel>().SpectraContainer;
                ISpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType);
                IChartSpectrumModel spectrum = spectraContainer.tryGetSpectrumOfType(spectrumType);
                if (spectrum != null)
                    return spectrum.IsSavedOnCloud;
                else
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ 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.ScienceModels.Extensions;
using INAF.Libraries.NetStandard.SLabCommonModels.Extensions;
using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Data;
Loading