public void Save()
        {
            IList <HierarchicalInfoAnalyserViewModel> all = All;

            for (int i = 0; i < all.Count; i++)
            {
                HierarchicalInfoAnalyserViewModel vm = all[i];
                _magicDatabase.InsertNewOption(TypeOfOption.Hierarchy, vm.Name, vm.SaveInfo(i));
            }
        }
        private void UpCommandExecute(object o)
        {
            int index = _selectedIndex;
            HierarchicalInfoAnalyserViewModel current = _all[index];

            _all.RemoveAt(index);

            index--;
            _all.Insert(index, current);
            OnNotifyPropertyChanged(nameof(All));
            SelectedIndex = index;
        }
        private void CreateHierarchy(ICollection <IOption> options)
        {
            if (options == null || options.Count == 0)
            {
                _all = new List <HierarchicalInfoAnalyserViewModel>(HierarchicalInfoAnalyserFactory.Instance.Names.Select(s => new HierarchicalInfoAnalyserViewModel(s)));
                return;
            }

            _all = new List <HierarchicalInfoAnalyserViewModel>();

            SortedDictionary <int, HierarchicalInfoAnalyserViewModel> dic = new SortedDictionary <int, HierarchicalInfoAnalyserViewModel>();

            foreach (IOption option in options)
            {
                HierarchicalInfoAnalyserViewModel vm = new HierarchicalInfoAnalyserViewModel(option.Key);
                int pos = vm.LoadInfo(option.Value);
                dic.Add(pos, vm);
            }

            _all.AddRange(dic.Values);
        }