Commit 063ad5c9 authored by Francesco Carraro's avatar Francesco Carraro
Browse files

fixed recent files manager; fixed saving of XML into cloud

parent 32524666
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -4,11 +4,11 @@ using INAF.Apps.Uwp.SLabDataManager.Charts;
using INAF.Apps.Uwp.SLabDataManager.Charts.Containers;
using INAF.Apps.Uwp.SLabDataManager.Charts.Smoothing;
using INAF.Apps.Uwp.SLabDataManager.Helpers;
using INAF.Apps.Uwp.SLabDataManager.Helpers.FileReaders;
using INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations;
using INAF.Apps.Uwp.SLabDataManager.Helpers.UI;
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;
@@ -154,20 +154,21 @@ namespace INAF.Apps.Uwp.SLabDataManager
                /* transient */
                .AddTransient<AnimationsHelper>()
                .AddTransient<AuthenticationManager>()
                .AddTransient<ConfigReader>()
                .AddTransient<FitFunctionsReader>()
                .AddTransient<XmlAssetConfigReader>()
                .AddTransient<XmlAssetFitFunctionsReader>()
                .AddTransient<LabSpectrumFileReader>()
                .AddTransient<LinearFitHelper>()
                .AddTransient<LinearProcessingHelper>()
                .AddTransient<SplineProcessingHelper>()
                .AddTransient<RemoteOperationsManager>()
                .AddTransient<RemoteOperationsXmlReader>()
                .AddTransient<SavitzkyGolayHelper>()
                .AddTransient<SmoothingDefaultBoundariesReader>()
                .AddTransient<XmlAssetSmoothingDefaultBoundariesReader>()
                .AddTransient<SpectraFactory>()
                .AddTransient<SpectrumReader>()
                .AddTransient<SplineFitHelper>()
                .AddTransient<ZoomHelper>()
                .AddTransient<XmlHelper>()
                .AddTransient<XmlSpectrumFileReader>()
                /* usercontrols viewmodels */
                .AddScoped<AlignmentViewModel>()
                .AddScoped<MeasurementInfoViewModel>()
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
		<operation type="IsLoginValid">Account/IsLoginValid</operation>
		<!-- SPECTRA FILES ACTIONS -->
		<operation type="DeleteSpectrum">AppSpectraFilesActions/DeleteSpectrum</operation>
		<operation type="GetParentSpectrum">AppSpectraFilesActions/GetParentSpectrum</operation>
		<operation type="SaveSpectrumOfTypeAligned">AppSpectraFilesActions/SaveSpectrumOfTypeAligned</operation>
		<operation type="SaveSpectrumOfTypeContinuumRemoved">AppSpectraFilesActions/SaveSpectrumOfTypeContinuumRemoved</operation>
		<operation type="SaveAsCopySpectrumOfTypeContinuumRemoved">AppSpectraFilesActions/SaveAsCopySpectrumOfTypeContinuumRemoved</operation>
+11 −6
Original line number Diff line number Diff line
@@ -418,15 +418,14 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers
        {
            bool isPropertyChangedRequired = false;

            if (e.PropertyName.Equals(nameof(SpectrumSummaryModel.Filepath)) ||
                e.PropertyName.Equals(nameof(SpectrumSummaryModel.FileReadingStatus)))
            if (e.PropertyName.Equals(nameof(SpectrumSummaryModel.IsReady)))
                isPropertyChangedRequired = true;
            //if (e.PropertyName.Equals(nameof(SpectrumSummaryModel.Filepath)) ||
            //    e.PropertyName.Equals(nameof(SpectrumSummaryModel.FileReadingStatus)))
            //    isPropertyChangedRequired = true;

            if (isPropertyChangedRequired)
            {
                IsAnySummaryUpdated = true;
                isAnySummaryUpdated = false; // for the next usage
            }
                raiseIsAnySummaryUpdated();
        }

        public void resetSummaries()
@@ -507,6 +506,12 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts.Containers
            IsAnySpectrumUpdated = true;
            isAnySpectrumUpdated = false;// trick to enable for the next added spectrum
        }

        public void raiseIsAnySummaryUpdated()
        {
            IsAnySummaryUpdated = true;
            isAnySummaryUpdated = false; // for the next usage
        }
        #endregion

        #region retrieve aligned spectrum (by smoothing type)
+21 −12
Original line number Diff line number Diff line
@@ -13,9 +13,11 @@ using INAF.Libraries.NetStandard.SLabCommonModels.Models.Spectrum.ProcessedSpect
using INAF.Libraries.NetStandard.SLabCommonModels.Models.Spectrum.ProcessedSpectraInfo.Smoothing;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using Telerik.UI.Xaml.Controls.Chart;
using Windows.Data.Xml.Dom;
@@ -351,18 +353,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions
        /* used for 'ToSpectrumFile' extension method */
        public static string ToXmlString(this IChartSpectrumModel spectrum)
        {
            if (spectrum == null || spectrum.Elements == null || spectrum.Elements.Count == 0)
                return null;

            XmlDocument dom = GetCommonXml(spectrum);

            var xmlspectrum = dom.SelectSingleNode(Constants.Constants.XML_SPECTRUM);

            /* append spectrum data (wavelength, value) */
            var xmlelements = GetElements(spectrum, dom);
            xmlspectrum.AppendChild(xmlelements);

            return dom.GetXml();
            return ((IChartSpectrumOfTypeProcessedModel)spectrum).ToXml().GetXml();
        }

        /* used for 'saveSpectrumOfTypeAsLocalFileAsync' method in BaseUserControlViewModel */
@@ -635,5 +626,23 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions
            // create the solidColorbrush
            return new SolidColorBrush(color);
        }

        public static IChartSpectrumModel ToChartSpectrumModel(this FileSpectrumModel fileSpectrum)
        {
            List<ElementModel> elements = new List<ElementModel>();
            foreach (var element in fileSpectrum.Elements)
            {
                elements.Add(new ElementModel(element.X, element.Y));
            }

            return new ChartSpectrumModel()
            {
                Id = fileSpectrum.Id,
                Filename = fileSpectrum.Filename,
                ParentId = fileSpectrum.ParentId,
                Type = fileSpectrum.Type,
                Elements = new ObservableCollection<ElementModel>(elements)
            };
        }
    }
}
+20 −16
Original line number Diff line number Diff line
using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels;
using INAF.Apps.Uwp.SLabDataManager.Helpers.UI;
using INAF.Apps.Uwp.SLabDataManager.ViewModels.UserControlViewModels;
using INAF.Libraries.NetStandard.Extensions;
using INAF.Libraries.NetStandard.ScienceModels.Spectra;
using INAF.Libraries.Uwp.Logging;
@@ -8,33 +9,36 @@ using System.Threading.Tasks;
using Windows.Data.Xml.Dom;
using Windows.Storage;

namespace INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders
namespace INAF.Apps.Uwp.SLabDataManager.Helpers.FileReaders
{
    public sealed class ConfigReader : XmlReader
    public sealed class XmlAssetConfigReader
    {
        private readonly AlignmentViewModel alignmentViewModel;
        private readonly XmlHelper xmlHelper;
        private readonly Logger logger;

        public ConfigReader(IServiceProvider serviceProvider,
                            AlignmentViewModel alignmentViewModel,
        public XmlAssetConfigReader(AlignmentViewModel alignmentViewModel,
                                    XmlHelper xmlHelper,
                            Logger logger) : base(serviceProvider, xmlHelper, logger)
                                    Logger logger)
        {
            this.alignmentViewModel = alignmentViewModel;
            this.xmlHelper = xmlHelper;
            this.logger = logger;
        }

        public override async Task readFileAsync()
        public async Task readFileAsync()
        {
            StorageFile file = await getFileAsync("config.xml");
            StorageFile file = await xmlHelper.getFileAsync("config.xml");
            if (file == null)
            {
                logger.Write<ConfigReader>($"config.xml NOT FOUND!", Serilog.Events.LogEventLevel.Error);
                logger.Write<XmlAssetConfigReader>($"config.xml NOT FOUND!", Serilog.Events.LogEventLevel.Error);
                return;
            }

            XmlDocument dom = await xmlHelper.getXmlDocumentAsync(file);
            if (dom == null)
            {
                logger.Write<ConfigReader>($"Error while parsing config.xml!", Serilog.Events.LogEventLevel.Error);
                logger.Write<XmlAssetConfigReader>($"Error while parsing config.xml!", Serilog.Events.LogEventLevel.Error);
                return;
            }

@@ -44,16 +48,16 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders
                int index = 0;
                foreach (var node in wavelengthNodes)
                {
                    string _currentValue = getNodeContent(node, "currentValue");
                    string _currentValue = xmlHelper.getNodeContent(node, "currentValue");
                    double currentValue = _currentValue.ToDoubleInvariant();

                    string _semiRange = getNodeContent(node, "semiRange");
                    string _semiRange = xmlHelper.getNodeContent(node, "semiRange");
                    double semiRange = _semiRange.ToDoubleInvariant();

                    string _step = getNodeContent(node, "step");
                    string _step = xmlHelper.getNodeContent(node, "step");
                    double step = _step.ToDoubleInvariant();

                    string _measureUnit = getNodeContent(node, "measureUnit");
                    string _measureUnit = xmlHelper.getNodeContent(node, "measureUnit");
                    int measureUnit = _measureUnit.ToIntInvariant();

                    if (!alignmentViewModel.contains(index))
@@ -66,7 +70,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.XmlReaders
            }
            catch (Exception ex)
            {
                logger.Write<ConfigReader>($"Error while parsing config.xml - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
                logger.Write<XmlAssetConfigReader>($"Error while parsing config.xml - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
                return;
            }
        }
Loading