Example #1
0
 public EditNodeEventArgs(ID_Comp pathComp, ID_Operation operation, int idComp, string value = null)
 {
     PathComp  = pathComp;
     IdComp    = idComp;
     Operation = operation;
     Value     = value;
 }
Example #2
0
        /// <summary>
        /// Обработчик добавления новой роли
        /// </summary>
        private void add_New_Role(object sender, ToolStripItemClickedEventArgs e)
        {
            if (Report != null)
            {
                Report(this, new ReportEventArgs(string.Empty, string.Empty, string.Empty, true));
            }

            int id_newRole = 0;

            if (e.ClickedItem.Text == (string)getNameMode((int)ID_Menu.AddRole))
            {
                this.Nodes.Add(Mass_NewVal_Comp((int)ID_OBJ.Role));

                if (GetID != null)
                {
                    id_newRole = GetID(this, new GetIDEventArgs(m_selNode_id, (int)ID_OBJ.Role));
                }

                Nodes[Nodes.Count - 1].Name = Convert.ToString(id_newRole);

                ID_Comp id = new ID_Comp();

                id.id_role = -1;
                id.id_user = -1;

                id.id_role = id_newRole;

                if (EditNode != null)
                {
                    EditNode(this, new EditNodeEventArgs(id, ID_Operation.Insert, id.id_role));
                }
            }
        }
Example #3
0
        /// <summary>
        /// Метод для запроса ID компонента в TreeView
        /// </summary>
        /// <param name="id_string">Строка с идентификаторами</param>
        /// <returns>Список с ID</returns>
        private ID_Comp get_m_id_list(string id_string)
        {
            ID_Comp id_comp = new ID_Comp();

            id_comp.id_role = -1;
            id_comp.id_user = -1;

            if (id_string != "")
            {
                string[] path = id_string.Split(':');
                if (path.Length == 2)
                {
                    id_comp.id_user = Convert.ToInt32(path[1].Trim());
                    id_comp.type    = Type_Comp.User;
                }
                else
                {
                    id_comp.id_user = -1;
                    id_comp.type    = Type_Comp.Role;
                }

                id_comp.id_role = Convert.ToInt32(path[0].Trim());
            }
            return(id_comp);
        }
Example #4
0
 /// <summary>
 /// Метод для переименования ноды
 /// </summary>
 /// <param name="id_comp"></param>
 /// <param name="name"></param>
 public void Rename_Node(ID_Comp id_comp, string name)
 {
     if (id_comp.id_user.Equals(-1) == true & id_comp.id_role.Equals(-1) == false)
     {
         foreach (TreeNode n in this.Nodes)
         {
             if (get_m_id_list(n.Name).id_role == id_comp.id_role)
             {
                 n.Text = name;
             }
         }
     }
     if (id_comp.id_user.Equals(-1) == false)
     {
         foreach (TreeNode n in this.Nodes)
         {
             if (get_m_id_list(n.Name).id_role == id_comp.id_role)
             {
                 foreach (TreeNode u in n.Nodes)
                 {
                     if (get_m_id_list(u.Name).id_user == id_comp.id_user)
                     {
                         u.Text = name;
                     }
                 }
             }
         }
     }
 }
Example #5
0
        /// <summary>
        /// Обработчик события выбора элемента в TreeView
        /// </summary>
        private void tree_NodeSelect(object sender, TreeViewEventArgs e)
        {
            int idComp = 0;

            m_selNode_id = get_m_id_list(e.Node.Name);

            if (m_selNode_id.type == Type_Comp.Role)
            {
                idComp = m_selNode_id.id_role;
            }
            if (m_selNode_id.type == Type_Comp.User)
            {
                idComp = m_selNode_id.id_user;
            }

            if (EditNode != null)
            {
                EditNode(this, new EditNodeEventArgs(m_selNode_id, ID_Operation.Select, idComp));
            }
        }
Example #6
0
 public GetIDEventArgs(ID_Comp path, int id_comp)
 {
     PathComp = path;
     IdComp   = id_comp;
 }
Example #7
0
        /// <summary>
        /// Обработчик добавления нового пользователя
        /// </summary>
        private void add_New_User(object sender, ToolStripItemClickedEventArgs e)
        {
            if (Report != null)
            {
                Report(this, new ReportEventArgs(string.Empty, string.Empty, string.Empty, true));
            }

            if (e.ClickedItem.Text == (string)getNameMode((int)ID_Menu.AddUser))//Добавление нового пользователя
            {
                int id_newUser = 0;

                ID_Comp id = new ID_Comp();

                id.id_role = -1;
                id.id_user = -1;

                if (GetID != null)
                {
                    id_newUser = GetID(this, new GetIDEventArgs(m_selNode_id, (int)ID_OBJ.User));
                }

                id.id_role = m_selNode_id.id_role;
                id.id_user = id_newUser;

                if (EditNode != null)
                {
                    EditNode(this, new EditNodeEventArgs(id, ID_Operation.Insert, id.id_user));
                }

                foreach (TreeNode role in Nodes)
                {
                    if (Convert.ToInt32(role.Name) == m_selNode_id.id_role)
                    {
                        role.Nodes.Add(Mass_NewVal_Comp((int)ID_OBJ.User));
                        role.Nodes[role.Nodes.Count - 1].Name = Convert.ToString(id.id_role) + ":" + Convert.ToString(id_newUser);
                    }
                }
            }
            else
            {
                if (e.ClickedItem.Text == (string)getNameMode((int)ID_Menu.Delete))//Удаление роли
                {
                    bool del = false;


                    if (SelectedNode.FirstNode == null)
                    {
                        del = true;
                    }
                    if (del == true)
                    {
                        if (EditNode != null)
                        {
                            EditNode(this, new EditNodeEventArgs(m_selNode_id, ID_Operation.Delete, m_selNode_id.id_role));
                        }

                        SelectedNode.Remove();
                    }
                    else
                    {
                        m_warningReport = "У роли " + SelectedNode.Text + " имеются пользователи!";
                        if (Report != null)
                        {
                            Report(this, new ReportEventArgs(string.Empty, string.Empty, m_warningReport, false));
                        }
                        //MessageBox.Show("Имеются не выведенные из состава компоненты в " + SelectedNode.Text,"Внимание!",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                    }
                }
            }
        }