Пример #1
0
        public MainViewModel(IDataService dataService)
        {
            LavelList    = new ObservableCollection <LavelViewModel>();
            ParamList    = new ObservableCollection <ParamViewModel>();
            type         = new ObservableCollection <string>();
            _dataService = dataService;
            _dataService.GetData(
                (item, error) =>
            {
                if (error != null)
                {
                    // Report error here
                    return;
                }
            });
            _dataService.GetDataLevel(
                (item, error) =>
            {
                if (error != null)
                {
                    return;
                }
                LoadLavel(item);
            });

            Edit = new DelegateCommand <object>(arg =>
            {
                LavelViewModel tmp = LavelList.FirstOrDefault(i => i.IsSelected);
                if (tmp != null)
                {
                    tmp.IsEditMode = true;
                }
            });
        }
Пример #2
0
        private void LoadLavel(List <LavelModel> list)
        {
            var rootElement = list.Where(c => c.paremtId == -1);

            foreach (var rootCategory in rootElement)
            {
                LavelViewModel tmp = new LavelViewModel(rootCategory);
                tmp.PropertyChanged += ItemsOnCollectionChanged1;
                LavelList.Add(tmp);
                setChild(tmp, list);
            }
        }
Пример #3
0
 public void setChild(LavelViewModel root, IList <LavelModel> source)
 {
     for (var i = 0; i < source.Count; i++)
     {
         if (root.ID != source[i].id && root.ID == source[i].paremtId)
         {
             if (source[i].paremtId != -1)
             {
                 LavelViewModel tmp = new LavelViewModel(source[i]);
                 tmp.PropertyChanged += ItemsOnCollectionChanged1;
                 root.Children.Add(tmp);
                 setChild(tmp, source);
             }
         }
     }
 }
Пример #4
0
        private int Find(int id, ObservableCollection <LavelViewModel> tmp)
        {
            if (tmp == null)
            {
                return(-1);
            }

            foreach (var tmp1 in tmp)
            {
                if (tmp1.ID == id)
                {
                    LavelModel _tmp = new LavelModel();
                    _tmp.name     = "new";
                    _tmp.id       = _dataService.getNewIndexLavel();
                    _tmp.paremtId = id;

                    LavelViewModel _tmp_ = new LavelViewModel(_tmp);
                    _tmp_.PropertyChanged += ItemsOnCollectionChanged1;
                    _tmp_.IsEditMode       = true;
                    _tmp_.IsSelected       = true;
                    _tmp_.IsExpanded       = true;
                    _tmp_.IsNew            = true;
                    tmp1.Children.Add(_tmp_);
                    return(tmp1.ID);
                }
                else
                {
                    int i = Find(id, tmp1.Children);
                    if (i != -1)
                    {
                        return(i);
                    }
                }
            }

            return(-1);
        }