Commit 9437cf62 authored by Francesco Carraro's avatar Francesco Carraro
Browse files

added icon for files saved on cloud

parent 1ed6e774
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
@@ -109,6 +110,7 @@ namespace INAF.Apps.Uwp.SLabDataManager
                .AddTransient<ConfigReader>()
                .AddTransient<RemoteOperationsManager>()
                .AddTransient<RemoteOperationsXmlReader>()
                .AddTransient<SpectrumModelFactory>()
                .AddTransient<SpectrumReader>()
                .AddTransient<XmlHelper>()
                /* view models */
+3 −2
Original line number Diff line number Diff line
@@ -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
+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;
@@ -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
{
@@ -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;
@@ -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
        {
@@ -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; }

@@ -122,6 +149,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Charts
        }
        #endregion
        #endregion
        #endregion

        public void clear()
        {
@@ -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);
        }
@@ -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(() =>
@@ -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)
        {
@@ -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)
        {
@@ -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);

+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();
        }
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -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