AllTreeViewModel.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System.Collections.Generic;
  2. using System.Collections.ObjectModel;
  3. using System.ComponentModel.Composition;
  4. using System.IO;
  5. using Helper;
  6. namespace Tree
  7. {
  8. [Export(contractType: typeof (AllTreeViewModel)),
  9. PartCreationPolicy(creationPolicy: CreationPolicy.NonShared)]
  10. internal class AllTreeViewModel
  11. {
  12. private AllTreeData allTreeData;
  13. public int MaxNodeId { get; set; }
  14. public int MaxTreeId { get; set; }
  15. private readonly ObservableCollection<int> treeList =
  16. new ObservableCollection<int>();
  17. public Dictionary<int, ObservableCollection<TreeNodeViewModel>> oneTree =
  18. new Dictionary<int, ObservableCollection<TreeNodeViewModel>>();
  19. public ObservableCollection<int> TreeList
  20. {
  21. get
  22. {
  23. return this.treeList;
  24. }
  25. }
  26. public void Load(string file)
  27. {
  28. this.treeList.Clear();
  29. byte[] bytes = File.ReadAllBytes(file);
  30. this.allTreeData = ProtobufHelper.FromBytes<AllTreeData>(bytes);
  31. foreach (TreeNodeData treeNodeData in allTreeData.TreeNodeDatas)
  32. {
  33. ObservableCollection<TreeNodeViewModel> tree;
  34. this.oneTree.TryGetValue(treeNodeData.TreeId, out tree);
  35. if (tree == null)
  36. {
  37. tree = new ObservableCollection<TreeNodeViewModel>();
  38. oneTree[treeNodeData.TreeId] = tree;
  39. }
  40. //tree.Add(new TreeNodeViewModel(treeNodeData));
  41. }
  42. }
  43. public void Save(string file)
  44. {
  45. }
  46. }
  47. }