Exemple #1
0
        /// <summary>
        ///     Создание элемента дерева
        /// </summary>
        /// <param name="treeNodeType">Тип элемента</param>
        /// <param name="Text">Текст</param>
        /// <param name="Value">Значение</param>
        /// <returns>Элемент дерева</returns>
        private CustomTreeNode CreateCustomTreeNode(DepartmentTreeNodeType treeNodeType, String Text, Guid Value)
        {
            var node = new CustomTreeNode
            {
                Text     = Text,
                Value    = Value.ToString(),
                Tag      = treeNodeType,
                ImageUrl =
                    treeNodeType == DepartmentTreeNodeType.DivisionState
                        ? _divisionTreeNodeTypeImageUrl
                        : _departmentTreeNodeTypeImageUrl
            };

            if ((_selectedNodeParentList.ContainsKey(Value)) && Value != _selectedDivision)
            {
                node.Expand();
            }

            else
            {
                //Если не вызвать то сработает событие Expand и загрузятся лишние элементы
                node.Collapse();
            }

            if (_selectedDivision != Guid.Empty && Value == _selectedDivision)
            {
                node.Selected       = true;
                CurrentSelectedNode = node;
            }
            return(node);
        }
Exemple #2
0
        /// <summary>
        ///     Признак наличия у элемента потомков
        /// </summary>
        /// <param name="treeNodeType">Тип элемента дерева</param>
        /// <param name="parent">Идентификатор родительского элемента</param>
        /// <returns>true-у родителя есть потомки</returns>
        private bool IsHasChilds(DepartmentTreeNodeType treeNodeType, Guid parent)
        {
            string commandText = string.Empty;

            switch (treeNodeType)
            {
            case DepartmentTreeNodeType.DivisionState:
                commandText = "select count(Id) as ChildsCount from DivisionState where ParentId='" + parent + "'";
                break;

            case DepartmentTreeNodeType.DepartmentState:
                commandText =
                    "select count(Id) as ChildsCount from DepartmentState where ExpirationDate IS NULL AND ParentId='" +
                    parent + "'";
                break;
            }
            SqlConnection connection = DBHelper.GetConnection();
            var           cmd        = new SqlCommand(commandText, connection);

            try
            {
                connection.Open();
                string childCount = cmd.ExecuteScalar().ToString();
                int    nodeChildsCount;
                if (int.TryParse(childCount, out nodeChildsCount))
                {
                    if (nodeChildsCount > 0)
                    {
                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                ShellLogger.WriteLog("DB.log", "Ошибка проверки наличия дочерних элементов", ex);
            }
            finally
            {
                connection.Close();
            }
            return(false);
        }