Exemplo n.º 1
0
 public dynamic Serialize(WaveDesignerViewModel waveDesigner)
 {
     return(new
     {
         Nodes = SerializeNodes(waveDesigner.TreeDesigner),
         Connections = SerializeConnections(waveDesigner.TreeDesigner)
     });
 }
Exemplo n.º 2
0
        protected override void OnStartup(StartupEventArgs e)
        {
            var container = PrepareServiceProvider();

            WaveDesigner = container.GetRequiredService <WaveDesignerViewModel>();
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(WaveDesigner)));

            base.OnStartup(e);
        }
Exemplo n.º 3
0
        public void Deserialize(WaveDesignerViewModel viewModel, dynamic value)
        {
            viewModel.TreeDesigner.Nodes = (value.Nodes as IEnumerable <dynamic>)
                                           .Select(nodeDescription => (NodeViewModel)DeserializeNode(nodeDescription))
                                           .ToList();

            foreach (var connection in value.Connections)
            {
                viewModel.TreeDesigner.Nodes.ElementAt((int)connection.From).AddInput(viewModel.TreeDesigner.Nodes.ElementAt((int)connection.To));
            }
        }
Exemplo n.º 4
0
        public void Load(WaveDesignerViewModel viewModel)
        {
            if (!AskUserToLoad(out string fileName))
            {
                return;
            }

            var fileContent = File.ReadAllText(fileName);

            ReadFromJson(viewModel, fileContent);
        }
Exemplo n.º 5
0
        public void Save(WaveDesignerViewModel waveDesigner)
        {
            if (!AskUserToSave(out string fileName))
            {
                return;
            }

            var fileContent = ConvertToJson(waveDesigner);

            File.WriteAllText(fileName, fileContent);
        }
Exemplo n.º 6
0
        private void ReadFromJson(WaveDesignerViewModel waveDesigner, string json)
        {
            dynamic value = JObject.Parse(json);

            _serializationHelper.Deserialize(waveDesigner, value);
        }
Exemplo n.º 7
0
        private string ConvertToJson(WaveDesignerViewModel waveDesigner)
        {
            var payload = _serializationHelper.Serialize(waveDesigner);

            return(JsonConvert.SerializeObject(payload, Formatting.Indented));
        }