Exemple #1
0
 private void UpdateSettings()
 {
     m_paths.Clear();
       JsonNode settingsNode = (JsonNode)JsonHelperFunctions.Parse(m_settings.GetContent<string>());
       if (settingsNode == null) return;
       JsonArray jsonArray = settingsNode.GetObjectOrDefault<JsonArray>("templates", null);
       List<ITreeNode> nodes = m_root.Children.ToList();
       if (jsonArray != null)
       {
     foreach (JsonValue path in jsonArray)
     {
       m_paths.Add((string)path.Value);
       ITreeNode treeNode = m_root.Children.FirstOrDefault(n => n.Path == (string)path.Value);
       if (treeNode == null)
       {
     if (Directory.Exists((string) path.Value))
     {
       DirectoryViewModel directoryViewModel = new DirectoryViewModel((string)path.Value);
       directoryViewModel.AllFiles.CollectionChanged += AllFilesOnCollectionChanged;
       foreach (FileViewModel fileViewModel in directoryViewModel.AllFiles)
       {
         if (fileViewModel.Path.EndsWith("template.json"))
           Templates.Add(new Template(fileViewModel));
       }
       m_root.Children.Add(directoryViewModel);
     }
       }
       else
     nodes.Remove(treeNode);
     }
       }
       foreach (ITreeNode treeNode in nodes)
     m_root.Children.Remove(treeNode);
 }
Exemple #2
0
        public DirectoryViewModel CreateDirectory(string name)
        {
            if (Directory.Exists(Path + "\\" + name))
            return m_children.FirstOrDefault(n => n.Name == name) as DirectoryViewModel;

              DirectoryViewModel directoryViewModel = new DirectoryViewModel(Path + "\\" + name, this, m_allFiles, m_synchronizationContext);
              m_children.Add(directoryViewModel);
              try
              {
            Directory.CreateDirectory(Path + "\\" + name);
              }
              catch (Exception)
              {
            m_children.Remove(directoryViewModel);
            return null;
              }
              return directoryViewModel;
        }