Commit 15a89f60 authored by Francesco Carraro's avatar Francesco Carraro
Browse files

fixing save as TXT/XML cloud+local

parent c54534a9
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -32,5 +32,13 @@
        public static readonly string LAST_PAGE = "lastpage";

        public static readonly string NUM_OF_POINTS_FOR_MISSING_POINTS = "numofpointsformissingpoints";

        public static readonly string XML_ELEMENTS = "elements";
        public static readonly string XML_ELEMENT = "element";
        public static readonly string XML_RAW_FILENAME = "rawfilename";
        public static readonly string XML_INFO = "info";
        public static readonly string XML_SPECTRUM = "spectrum";
        public static readonly string XML_TYPE = "type";
        public static readonly string XML_WAVELENGTH = "wavelength";
    }
}
+4 −2
Original line number Diff line number Diff line
@@ -6,8 +6,10 @@ namespace INAF.Apps.Uwp.SLabDataManager.Constants
    {
        public enum FileExt
        {
            [Description(".txt")]
            Txt
            [Description("txt")]
            Txt,
            [Description("xml")]
            Xml,
        }

        public enum FileReadingStatus
+39 −11
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using Telerik.UI.Xaml.Controls.Chart;
using Windows.Data.Xml.Dom;
using Windows.UI;
@@ -259,15 +260,48 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions
            }
        }

        public static string ToTxt(this SpectrumModel spectrum)
        {
            if (spectrum == null || spectrum.Elements == null || spectrum.Elements.Count == 0)
                return null;

            StringBuilder sb = new StringBuilder();
            foreach (var element in spectrum.Elements)
            {
                sb.AppendLine(element.toCsvString());
            }

            return sb.ToString();
        }

        public static XmlDocument ToXml(this SpectrumModel spectrum)
        {
            if (spectrum == null || spectrum.Elements == null || spectrum.Elements.Count == 0)
                return null;

            XmlDocument dom = new XmlDocument();

            var xmlspectrum = dom.CreateElement("spectrum");
            var xmlspectrum = dom.CreateElement(Constants.Constants.XML_SPECTRUM);
            dom.AppendChild(xmlspectrum);

            /* append spectrum info (filename, type) */
            var xmlinfo = dom.CreateElement(Constants.Constants.XML_INFO);
            /*  filename */
            var xmlfilename = dom.CreateElement(Constants.Constants.XML_RAW_FILENAME);
            xmlfilename.InnerText = spectrum.Filename;
            xmlinfo.AppendChild(xmlfilename);
            /*  type */
            var xmltype = dom.CreateElement(Constants.Constants.XML_TYPE);
            xmltype.InnerText = spectrum.Type.ToString();
            xmlinfo.AppendChild(xmltype);

            xmlspectrum.AppendChild(xmlinfo);

            /* append spectrum data (wavelength, value) */
            var xmlelements = dom.CreateElement(Constants.Constants.XML_ELEMENTS);
            foreach (var element in spectrum.Elements)
                xmlspectrum.AppendChild(element.ToXmlNode(dom));
                xmlelements.AppendChild(element.ToXmlNode(dom));
            xmlspectrum.AppendChild(xmlelements);

            return dom;
        }
@@ -275,16 +309,10 @@ namespace INAF.Apps.Uwp.SLabDataManager.Extensions
        #region elements
        public static XmlElement ToXmlNode(this ElementModel element, XmlDocument dom)
        {
            var xmlelement = dom.CreateElement("element");

            var xmlwavelength = dom.CreateElement("wavelength");
            double wavelength = element.getValueInNanometers();
            xmlwavelength.InnerText = wavelength.ToDoubleInvariantString();
            xmlelement.AppendChild(xmlwavelength);
            var xmlelement = dom.CreateElement(Constants.Constants.XML_ELEMENT);

            var xmlvalue = dom.CreateElement("value");
            xmlvalue.InnerText = element.Y.ToDoubleInvariantString();
            xmlelement.AppendChild(xmlvalue);
            xmlelement.SetAttribute(Constants.Constants.XML_WAVELENGTH, element.getValueInNanometers().ToDoubleInvariantString());
            xmlelement.InnerText = element.Y.ToDoubleInvariantString();

            return xmlelement;
        }
+3 −3
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations
            catch (Exception ex)
            {
                isOk = false;
                logger.Write<RemoteOperationsManager>($"{nameof(postAsync)} - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
                logger.Write<RemoteOperationsManager>($"{nameof(getAsync)} - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
            }

            return isOk;
@@ -107,7 +107,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations
            }
            catch (Exception ex)
            {
                logger.Write<RemoteOperationsManager>($"{nameof(postAsync)} - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
                logger.Write<RemoteOperationsManager>($"{nameof(getAsync)} - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
            }

            return result;
@@ -139,7 +139,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers.RemoteOperations
            }
            catch (Exception ex)
            {
                logger.Write<RemoteOperationsManager>($"{nameof(postAsync)} - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
                logger.Write<RemoteOperationsManager>($"{nameof(getAsync)} - ex: {ex.Message}", Serilog.Events.LogEventLevel.Error);
            }

            return result;
+1 −1
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ namespace INAF.Apps.Uwp.SLabDataManager.Helpers
                /* ...and manage lines... */
                if (lines?.Count > 0)
                {
                    spectrum = spectrumModelFactory.createSpectrum(spectrumType, file.Name);
                    spectrum = spectrumModelFactory.createSpectrum(spectrumType, file.Name, file.Path);

                    int linesNum = lines.Count;

Loading