示例#1
0
        /// <summary>
        /// Отобразить все вложенные узлы для данного узла
        /// </summary>
        /// <param name="treeNodes">Узелы на списке узлов</param>
        /// <param name="operationTypeId">Id типа операции, который находится в этом узле</param>
        private void FillNodes(TreeNodeCollection treeNodes, int operationTypeId)
        {
            COperationType[] operationTypes = _operationTypeWorker.GetChilds(operationTypeId);

            foreach (COperationType operationType in operationTypes)
            {
                treeNodes.Add(operationType.Name);
            }

            foreach (TreeNode node in treeNodes)
            {
                if (IsSelectedOperationTypesContainOperationType(node.Text))
                {
                    node.Checked = true;
                }

                COperationType operationType = _operationTypeWorker.GetByGeneralData(node.Text);
                if (operationType.Type == NodeType.Folder)
                {
                    node.NodeFont           = new Font(treeViewOperationType.Font, FontStyle.Bold);
                    node.ImageIndex         = 1;
                    node.SelectedImageIndex = 1;
                    FillNodes(node.Nodes, operationType.Id);

                    if (operationType.NodeFolderStated == NodeFolderStated.Opened)
                    {
                        node.Expand();
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// Сохранение изменений
        /// </summary>
        /// <param name="sender">Объект, пославший сообщение</param>
        /// <param name="e">Объект, содержащий данные посланного сообщения</param>
        private void buttonOk_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBoxOperationTypeName.Text))
            {
                MessageBox.Show("Поля, отмеченные звёздочкой, обязательны для заполнения", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            try
            {
                string oldOperationTypeName = _operationTypeInfo.Name;
                _operationTypeInfo.Name = textBoxOperationTypeName.Text;
                _operationTypeInfo.Type = comboBoxNodeType.Text == "Папка" ? NodeType.Folder : NodeType.Type;

                if (comboBoxParentNodeName.Text == "Корневая папка")
                {
                    _operationTypeInfo.IdParent = -1;
                }
                else
                {
                    COperationType operationType = _operationTypeWorker.GetByGeneralData(comboBoxParentNodeName.Text);
                    _operationTypeInfo.IdParent = operationType.Id;
                }

                if (_operationTypeInfo.Id == 0)
                {
                    _operationTypeWorker.Add(_operationTypeInfo);
                }
                else
                {
                    _operationTypeWorker.Update(_operationTypeInfo);
                    _operationWorker.ChangeOperationType(oldOperationTypeName, _operationTypeInfo.Name);
                }

                _isFormClosingByButton = true;
                Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }