示例#1
0
        public void InitialRoleMenu(Guid IDRole)
        {
            try
            {
                ViewModel.Search      MenuSearch = new ViewModel.Search();
                ViewModel.tblRoleMenu RoleMenu   = new ViewModel.tblRoleMenu();
                DataSet dsMenu = BisMenu.GetMenuData(MenuSearch);

                for (int i = 0; i < dsMenu.Tables[0].Rows.Count; i++)
                {
                    RoleMenu.IDRoleMenu = Guid.NewGuid();
                    RoleMenu.IDMenu     = dsMenu.Tables[0].Rows[i]["IDMenu"].ToString().StringToGuid();
                    RoleMenu.IDRole     = IDRole;
                    RoleMenu.Access     = false;
                    BisRoleMenu.InserDataFromMenuToRoleMenu(RoleMenu);
                }
            }
            catch
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "ErrorMessage", "alert('اشکال در برقراری ارتباط بادیتابیس!');", true);
            }
        }
示例#2
0
 public bool InserDataFromMenuToRoleMenu(ViewModel.tblRoleMenu RoleMenu)
 {
     return(sqlHelper.RunProcedure("sp_tblRoleMenu_InserDataFromMenuToRoleMenu", RoleMenu) > 0);
 }
示例#3
0
 public bool UpdateRoleMenu(ViewModel.tblRoleMenu RoleMenu)
 {
     return(sqlHelper.RunProcedure("sp_tblRoleMenu_Update", RoleMenu, true) > 0);
 }
示例#4
0
        protected void tvMenu_SelectedNodeChanged(object sender, EventArgs e)
        {
            Guid IDMenu = tvMenu.SelectedValue.StringToGuid();

            ViewModel.Search searchOldNode = new ViewModel.Search();
            searchOldNode.Filter = " and tblRoleMenu.IDMenu = '" + IDMenu + "' and tblRoleMenu.IDRole ='" + hfIdRole.Value + "'";
            DataSet dsOldNode = BisRoleMenu.GetRoleMenuData(searchOldNode);


            ViewModel.tblRoleMenu roleMenu = new ViewModel.tblRoleMenu();
            roleMenu.IDRoleMenu = dsOldNode.ReturnDataSetField("IDRoleMenu").StringToGuid();
            roleMenu.IDMenu     = IDMenu;
            roleMenu.IDRole     = hfIdRole.Value.StringToGuid();
            roleMenu.Access     = !dsOldNode.ReturnDataSetField("Access").StringToBool();

            try
            {
                bool ret = BisRoleMenu.UpdateRoleMenu(roleMenu);
                if (ret)
                {
                    ViewModel.Search searchNewNode = new ViewModel.Search();
                    searchNewNode.Filter = " and IDRoleMenu = '" + dsOldNode.ReturnDataSetField("IDRoleMenu").StringToGuid() + "'";
                    DataSet dsNewNode = BisRoleMenu.GetRoleMenuData(searchNewNode);

                    ViewModel.Search searchParentNodes = new ViewModel.Search();
                    searchParentNodes.Filter = " and tblRoleMenu.IDMenu = '" + dsNewNode.ReturnDataSetField("ParentID") + "' and tblRoleMenu.IDRole ='" + hfIdRole.Value + "'";
                    DataSet dsParentNodes = BisRoleMenu.GetRoleMenuData(searchParentNodes);

                    ViewModel.Search searchChildNodes = new ViewModel.Search();
                    searchChildNodes.Filter = " and tblMenu.ParentID = '" + dsNewNode.ReturnDataSetField("IDMenu") + "' and tblRoleMenu.IDRole ='" + hfIdRole.Value + "'";
                    DataSet dsChilNodes = BisRoleMenu.GetRoleMenuData(searchChildNodes);


                    // yani age pedar ra uncheck kardim hameye childha uncheck savand
                    if (!dsNewNode.ReturnDataSetField("Access").StringToBool())
                    {
                        foreach (DataRow dr in dsChilNodes.Tables[0].Rows)
                        {
                            roleMenu.IDRoleMenu = dr["IDRoleMenu"].ToString().StringToGuid();
                            roleMenu.Access     = false;
                            ret = BisRoleMenu.UpdateRoleMenu(roleMenu);
                        }
                    }
                    if (dsNewNode.ReturnDataSetField("Access").StringToBool())
                    {
                        roleMenu.IDRoleMenu = dsParentNodes.ReturnDataSetField("IDRoleMenu").StringToGuid();
                        roleMenu.Access     = true;
                        ret = BisRoleMenu.UpdateRoleMenu(roleMenu);
                    }
                    filltvMenu(hfIdRole.Value);
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "ErrorMessage", "alert('اشکال در ثبت اطلاعات!');", true);
                }
            }
            catch
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "ErrorMessage", "alert('اشکال در برقراری ارتباط بادیتابیس!');", true);
            }
        }