public EditNodeEventArgs(ID_Comp pathComp, ID_Operation operation, int idComp, string value = null) { PathComp = pathComp; IdComp = idComp; Operation = operation; Value = value; }
/// <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)); } } }
/// <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); }
/// <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; } } } } } }
/// <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)); } }
public GetIDEventArgs(ID_Comp path, int id_comp) { PathComp = path; IdComp = id_comp; }
/// <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); } } } }