Exemplo n.º 1
0
        public async Task SaveCurrentViewModel(string modelName)
        {
            if (CurrentViewModel != null)
            {
                await _jsRuntime.InvokeVoidAsync("dataStorage.add", KeyValuePair.Create(modelName, CurrentViewModel));

                OnDataSaved?.Invoke(this, await GetAll());
            }
        }
Exemplo n.º 2
0
        public virtual bool Save()
        {
            App.Logger.Log($"[JDATA] - Saving {FileName}");
            string content = JsonConvert.SerializeObject(data);

            File.WriteAllText(FileName, content);
            App.Logger.Log($"[JDATA] - Saved!");
            OnDataSaved?.Invoke();
            return(true);
        }
 public virtual bool Save()
 {
     App.Logger.Log($"[XDATA] - Saving {FileName}");
     using (FileStream fs = new FileStream(FileName, FileMode.Create))
         using (XmlWriter writer = XmlWriter.Create(fs, new XmlWriterSettings()
         {
             Indent = Indent, IndentChars = "\t"
         }))
         {
             _serializer.Serialize(writer, data);
             App.Logger.Log($"[XDATA] - Saved!");
             OnDataSaved?.Invoke();
             return(true);
         }
 }
Exemplo n.º 4
0
        private async Task SerializeAsync(Stream stream, SerializationArguments serializationArguments, CancellationToken cancellationToken)
        {
            for (int x = 0; x < serializationArguments.stepUpNodesRequired; x++)
            {
                stream.WriteByte(ControlByte(Directions.Up, DataType.Data, SizeType.Linear, 0));
            }

            serializationArguments.stepUpNodesRequired = 0;

            Directions direction;

            if (serializationArguments.previouslySerialized == Parent || serializationArguments.previouslySerialized == null)
            {
                direction = Directions.Down;
            }
            else if (serializationArguments.previouslySerialized.Parent == Parent)
            {
                direction = Directions.New;
            }
            else if (serializationArguments.previouslySerialized.Parent.Parent == Parent)
            {
                direction = Directions.Up;
            }
            else
            {
                throw new PromptuariumException("Previously serialized node is invalid");
            }

            bool appending = false;

            // If the node has only children
            if (!Contains(Data) && !Contains(MetaData) && children.Count > 0)
            {
                stream.WriteByte(ControlByte(direction, DataType.Data, SizeType.Linear, 0));
            }
            #region Saving Data

            #region Fireing event
            OnDataSaving?.Invoke(this, new PromptuariumSavingEventArgs());
            #endregion

            if (Contains(Data))
            {
                appending = await SerializeContentAsync(stream, Data, DataType.Data, direction, appending, cancellationToken).ConfigureAwait(false);
            }

            #region Fireing event
            OnDataSaved?.Invoke(this, new PromptuariumSavedEventArgs());
            #endregion

            #endregion

            #region Saving MetaData

            #region Fireing event
            OnMetaDataSaving?.Invoke(this, new PromptuariumSavingEventArgs());
            #endregion

            if (Contains(MetaData))
            {
                appending = await SerializeContentAsync(stream, MetaData, DataType.MetaData, direction, appending, cancellationToken).ConfigureAwait(false);
            }

            #region Fireing event
            OnMetaDataSaved?.Invoke(this, new PromptuariumSavedEventArgs());
            #endregion

            #endregion

            serializationArguments.previouslySerialized = this;

            if (children.Count > 0)
            {
                Element child = new Element();

                for (int childIndex = 0; childIndex < children.Count; childIndex++)
                {
                    child = children[childIndex];

                    if (child != null)
                    {
                        await child.SerializeAsync(stream, serializationArguments, cancellationToken).ConfigureAwait(false);
                    }
                }

                if (child.children.Count > 0)
                {
                    serializationArguments.stepUpNodesRequired++;
                    serializationArguments.previouslySerialized = child;
                }
            }
        }