private ObservableCollection <NodeVM> ConvertToNodes(List <string> nodesList, int level)
        {
            if (nodesList != null)
            {
                bool isLastLevel = level == NodeService.GetLastLevel((int)settings.presentation) ? true : false;

                List <NodeVM> result = new List <NodeVM>();

                foreach (var node in nodesList)
                {
                    if (!string.IsNullOrEmpty(node))
                    {
                        result.Add(new NodeVM(new Node()
                        {
                            Level_id = level, Name = node
                        }, false)
                        {
                            IsLastLevel = isLastLevel, Parent = this.SelectedNodeVM
                        });
                    }
                }

                return(new ObservableCollection <NodeVM>(result));
            }
            else
            {
                return(null);
            }
        }
        private async void AddNode(bool isChild)
        {
            if (SelectedNodeVM != null)
            {
                if (SelectedNodeVM.IsLastLevel && isChild)
                {
                    MessagesService.Show("ДОБАВЛЕНИЕ", "Выбран низший уровень. Добавление не возможно.");
                    return;
                }

                string nodeName = await MessagesService.GetInput("ДОБАВЛЕНИЕ ВЕТКИ", "Введите наименование");

                if (!string.IsNullOrEmpty(nodeName))
                {
                    if (!isChild)
                    {
                        if (SelectedNodeVM.Node.Level_id == 1)
                        {
                            if (NodeVMs.Count(n => n.Node != null && n.Node.Name != null && n.Node.Name.ToLower() == nodeName.ToLower()) == 0)
                            {
                                NodeVMs.Add(new NodeVM(new Node()
                                {
                                    Level_id = SelectedNodeVM.Node.Level_id, Name = nodeName
                                }, false)
                                {
                                    IsLastLevel = SelectedNodeVM.IsLastLevel, Parent = SelectedNodeVM.Parent
                                });
                            }
                            else
                            {
                                MessagesService.Show("ДОБАВЛЕНИЕ ВЕТКИ", "Ветка с таким именем уже существует");
                            }
                        }
                        else
                        {
                            if (SelectedNodeVM.Parent.Children.Count(n => n.Node.Name.ToLower() == nodeName.ToLower()) == 0)
                            {
                                SelectedNodeVM.Parent.Children.Add(new NodeVM(new Node()
                                {
                                    Level_id = SelectedNodeVM.Node.Level_id, Name = nodeName
                                }, false)
                                {
                                    IsLastLevel = SelectedNodeVM.IsLastLevel, Parent = SelectedNodeVM.Parent
                                });
                            }
                            else
                            {
                                MessagesService.Show("ДОБАВЛЕНИЕ ВЕТКИ", "Ветка с таким именем уже существует");
                            }
                        }
                    }
                    else
                    {
                        if (SelectedNodeVM.Children.Count(n => n.Node.Name.ToLower() == nodeName.ToLower()) == 0)
                        {
                            SelectedNodeVM.Children.Add(new NodeVM(new Node()
                            {
                                Level_id = SelectedNodeVM.Node.Level_id + 1, Name = nodeName
                            }, false)
                            {
                                IsLastLevel = (SelectedNodeVM.Node.Level_id + 1 == NodeService.GetLastLevel((int)settings.presentation) ? true : false), Parent = SelectedNodeVM
                            });
                        }
                        else
                        {
                            MessagesService.Show("ДОБАВЛЕНИЕ ВЕТКИ", "Ветка с таким именем уже существует");
                        }
                    }
                }
            }
            else
            {
                MessagesService.Show("ДОБАВЛЕНИЕ", "Не выбрана ветка.");
            }
        }