예제 #1
0
        private void SaveCommand(object obj, ExecutedRoutedEventArgs e)
        {
            var model = new GraphModelSerialization(SelectedTab.GraphViewModel.GetModel);

            FileOperation.Save(model);
            SelectedTab.GraphViewModel.SaveFile(model);
        }
예제 #2
0
 public void LoadFile(GraphModelSerialization model)
 {
     model.Verticies.ForEach(v => AddVertex(v));
     model.Edges.ForEach(es => AddEdge(es));
     Changed  = model.Changed;
     FileName = model.FileName;
 }
예제 #3
0
 public static void Save(GraphModelSerialization model)
 {
     if (string.IsNullOrEmpty(model.FileName))
     {
         SaveAs(model);
     }
     else if (GraphSerializer.Serialization(model, model.FileName))
     {
         model.Changed = false;
     }
 }
예제 #4
0
 public static bool Serialization(GraphModelSerialization model, string path)
 {
     try
     {
         using (var fs = new FileStream(path, FileMode.Create))
         {
             JsonFormatter.WriteObject(fs, model);
             return(true);
         }
     }
     catch (Exception e)
     {
         MessageBox.Show("Error: Invalid file", e.Message, MessageBoxButton.OK, MessageBoxImage.Error);
         return(false);
     }
 }
예제 #5
0
        public static void SaveAs(GraphModelSerialization model)
        {
            var saveDialog = new SaveFileDialog
            {
                Filter           = "Graph file (*.ge)|*.ge| All files (*.*)|*.*",
                InitialDirectory =
                    model.FileName ??
                    _initialDirectory ?? Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
            };

            if (saveDialog.ShowDialog() == true)
            {
                _initialDirectory = saveDialog.FileName;
                model.FileName    = saveDialog.FileName;
                Save(model);
            }
        }
예제 #6
0
 public void SaveFile(GraphModelSerialization model)
 {
     Changed  = model.Changed;
     FileName = model.FileName;
 }