public ActionResult EditRoleRightsLevel2(int RoleID)
        {
            List <RolesRights> SerchAdd  = new List <Models.Keystone.RolesRights>();
            List <RolesRights> objSearch = new List <Models.Keystone.RolesRights>();
            BL_RolesRights     BLobj     = new BL_RolesRights();
            RolesRights        obj       = new RolesRights();

            if (RoleID > 0)
            {
                obj.GetRights = RolesRights.GetRoleAndRightsByRoleID(RoleID);
                obj.RoleID    = obj.GetRights.Tables[0].Rows[0]["RoleID"].ToString();
                obj.RoleName  = obj.GetRights.Tables[0].Rows[0]["RoleName"].ToString();
                foreach (DataRow dr in obj.GetRights.Tables[0].Rows)
                {
                    SerchAdd.Add(new RolesRights
                    {
                        ModuleIDchk = Convert.ToInt32(dr["ModuleIDchk"]),
                        ModuleID    = Convert.ToInt32(dr["ModuleID"]),
                        // ModuleName = dr["ModuleName"].ToString(),
                        RightCode = Convert.ToInt32(dr["RightCode"])
                                    //=obj.GetRights.Tables[0].Rows[0]["ModuleID"].ToString();
                    });
                }
            }
            return(new JsonResult {
                Data = SerchAdd, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #2
0
        /// <summary>
        /// 当权限不存在时,添加权限
        /// </summary>
        /// <param name="request"></param>
        private void AddRight_Android(AddRightsRequest request)
        {
            //判断当前选中项是否已经存在,避免重复添加
            var parendObj = _rolesRights.Table.FirstOrDefault(s => s.ProjectRolesID == request.roleId && s.ProjectMenuID == request.menuId);

            if (parendObj == null)
            {
                var menuObj = _menu.GetById(request.menuId);
                parendObj = new RolesRights
                {
                    Id                  = Guid.NewGuid(),
                    CreatedTime         = DateTime.Now,
                    DeletedTime         = null,
                    DeletedState        = 0,
                    IsDefault           = 0,
                    ProjectRolesID      = request.roleId,
                    ProjectMenuID       = menuObj.Id,
                    FunctionKey         = menuObj.FunctionKey,
                    FunctionName        = menuObj.FunctionName,
                    ImgUrl              = menuObj.FunctionUrl,
                    ProjectMenuParendID = menuObj.ParentID,
                    DisplayNo           = menuObj.DisplayNo,
                    Icon                = menuObj.Icon,
                    FunctionType        = menuObj.FunctionType
                };
                _rolesRights.Insert(parendObj);
            }

            AddChildOrParend(request, parendObj.ProjectMenuParendID);
        }
Пример #3
0
        public void add(RolesRights roles, string[] parentwithIDs, int Number)
        {
            roles.Mode = RoleRightsMode(roles, parentwithIDs, Number);
            //  connect();
            string con1 = con.State.ToString();

            if (con1 == "Closed")
            {
                con.Open();
            }
            SqlCommand cmdIURoleRights = new SqlCommand("IURoleRights", con);

            cmdIURoleRights.CommandType = CommandType.StoredProcedure;
            cmdIURoleRights.Parameters.AddWithValue("@HospitalID", HospitalID);
            cmdIURoleRights.Parameters.AddWithValue("@locationID", LocationID);
            cmdIURoleRights.Parameters.AddWithValue("@ModuleID", parentwithIDs[0].ToString());
            cmdIURoleRights.Parameters.AddWithValue("@RightCode", parentwithIDs[1].ToString());
            cmdIURoleRights.Parameters.AddWithValue("@RoleRightID", 0);
            cmdIURoleRights.Parameters.AddWithValue("@RoleID", roles.RoleID);
            cmdIURoleRights.Parameters.AddWithValue("@FormMode", 0);
            cmdIURoleRights.Parameters.AddWithValue("@RowInternal", false);
            cmdIURoleRights.Parameters.AddWithValue("@IsAuthorised", 0);
            cmdIURoleRights.Parameters.AddWithValue("@CreationID", UserID);
            cmdIURoleRights.Parameters.AddWithValue("@RowStatus", Number);
            cmdIURoleRights.Parameters.AddWithValue("@Mode", roles.Mode);
            result = cmdIURoleRights.ExecuteNonQuery();
        }
Пример #4
0
        /// <summary>
        /// 当权限存在时,删除权限
        /// </summary>
        /// <param name="request"></param>
        /// <param name="projectRolesRightse"></param>
        /// <returns></returns>
        private bool DeleteRight(AddRightsRequest request, RolesRights projectRolesRightse)
        {
            //表示删除的是一级页面
            if (projectRolesRightse.ProjectMenuParendID == null)
            {
                _rolesRights.Delete(projectRolesRightse);
                //同步删除所有的二级页面
                var projectRolesRightses = _rolesRights.Table.Where(s => s.ProjectRolesID == request.roleId && s.ProjectMenuParendID == projectRolesRightse.ProjectMenuID).ToList();
                if (projectRolesRightses.Count > 0)
                {
                    _rolesRights.DeleteList(projectRolesRightses);
                    //foreach (var btnList in projectRolesRightses.Select(item => _rolesRightsButtons.Table.Where(s => s.RolesRightsID == item.Id).ToList()).Where(btnList => btnList.Any()))
                    //{
                    //    _rolesRightsButtons.DeleteList(btnList);
                    //}
                    foreach (var item in projectRolesRightses)
                    {
                        //删除所有二级页面的操作权限
                        var btnList = _rolesRightsButtons.Table.Where(s => s.ProjectRolesRightsID == item.Id).ToList();
                        if (btnList.Any())
                        {
                            _rolesRightsButtons.DeleteList(btnList);
                        }
                    }
                }
            }
            //表示删除的是二级页面
            else
            {
                //删除页面权限
                _rolesRights.Delete(projectRolesRightse);

                //删除操作权限
                var btnList = _rolesRightsButtons.Table.Where(s => s.ProjectRolesRightsID == projectRolesRightse.Id).ToList();
                if (btnList.Any())
                {
                    _rolesRightsButtons.DeleteList(btnList);
                }

                //获取同级页面
                var projectRolesRightses = _rolesRights.Table.Where(s => s.ProjectRolesID == request.roleId && s.ProjectMenuParendID == projectRolesRightse.ProjectMenuParendID).ToList();
                //如果不存在同级页面,则删除父级页面
                if (!projectRolesRightses.Any())
                {
                    var projectRolesRights = _rolesRights.Table.FirstOrDefault(s => s.ProjectRolesID == request.roleId && s.ProjectMenuID == projectRolesRightse.ProjectMenuParendID);
                    if (projectRolesRights != null)
                    {
                        _rolesRights.Delete(projectRolesRights);
                    }
                }
            }
            _rolesRightsButtons.SaveChanges();

            return(true);
        }
Пример #5
0
        public ActionResult RoleRightstwo(int RoleID)
        {
            BL_RolesRights BLobj = new BL_RolesRights();
            RolesRights    obj   = new RolesRights();

            ModelState.Clear();
            obj.GetRoleAndRights = BLobj.GetRoleAndRights();
            obj.GetRoles         = RolesRights.GetAllRols();

            return(View(obj));
        }
        public JsonResult HideModuls()
        {
            //  TempData["Msg"]="yed";



            RolesRights obj = new RolesRights();

            obj.GetRoleAndRights = new DataSet();
            connect();
            string n = Session["Password"].ToString();
            string m = Session["Password2"].ToString();

            List <RolesRights> serch            = new List <RolesRights>();
            DataSet            _dsReturnDataSet = new DataSet();
            string             CompanyID        = "0";
            string             UserID           = Session["UserID"].ToString();

            if (UserID == "1")
            {
                CompanyID = "1";
            }
            if (UserID != "1")
            {
                SqlCommand cmd = new SqlCommand("GetModulesByParentModuleIDNew1", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@UserID", UserID);
                cmd.Parameters.AddWithValue("@CompanyID", HospitalID);
                cmd.Parameters.AddWithValue("@CompanyLocationID", LocationID);
                cmd.Parameters.AddWithValue("@Password", Session["Password"].ToString());
                cmd.Parameters.AddWithValue("@Password2", Session["Password2"].ToString());
                cmd.Parameters.AddWithValue("@FYStartDate", DateTime.Now);
                cmd.Parameters.AddWithValue("@FYEndDate", DateTime.Now);
                cmd.Parameters.AddWithValue("@ParentModuleID", 0);
                cmd.Parameters.AddWithValue("@iCustomerID", 1);
                SqlDataAdapter ad = new SqlDataAdapter();
                ad.SelectCommand = cmd;
                ad.Fill(obj.GetRoleAndRights);
                foreach (DataRow dr in obj.GetRoleAndRights.Tables[0].Rows)
                {
                    RolesRights obj1 = new RolesRights();
                    obj1.LeafModuleName = dr["LeafModuleName"].ToString();
                    obj1.ModuleName     = dr["ModuleName"].ToString();
                    obj1.SubModuleName  = dr["SubModuleName"].ToString();
                    serch.Add(obj1);
                }
            }
            else
            {
                return(Json("All", JsonRequestBehavior.AllowGet));
            }
            return(Json(serch, JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        public void beforAfterchk(RolesRights roles, Rights right)
        {
            for (int m = 0; m < right.beforAfterchk.Length; m++)
            {
                if (right.beforAfterchk[m] != "")
                {
                    string[] parentwithIDs = right.beforAfterchk[m].Split('+');
                    //  connect();
                    SqlCommand cmd = new SqlCommand("update RoleRights set RowStatus=1 where HospitalID=" + HospitalID + " and LocationID=" + LocationID + " and RowStatus=0 and RoleID=" + roles.RoleID + " and RightCode=" + parentwithIDs[1].ToString() + " and ModuleID=" + parentwithIDs[0].ToString() + "", con);
                    int        a   = cmd.ExecuteNonQuery();
                }
            }

            //  con.Open();
        }
        public ActionResult UserRights()
        {
            //HospitalLocation Location = new HospitalLocation();
            //collection
            //return View();
            UserRights location = new UserRights();


            BL_RolesRights BLobj = new BL_RolesRights();
            RolesRights    obj   = new RolesRights();

            ModelState.Clear();
            obj.GetRoleAndRights = BLobj.GetRoleAndRights();
            obj.GetRoles         = BLobj.GetAllRols();

            return(View(obj));
        }
Пример #9
0
        public string RoleRightsMode(RolesRights roles, string[] parentwithIDs, int Number)
        {
            //  connect();
            SqlDataAdapter ad = new SqlDataAdapter("select*from RoleRights where HospitalID=" + HospitalID + " and LocationID=" + LocationID + " and RowStatus=0 and RoleID=" + roles.RoleID + " and RightCode=" + parentwithIDs[1].ToString() + " and ModuleID=" + parentwithIDs[0].ToString() + "", con);
            DataSet        ds = new DataSet();

            //  con.Open();
            ad.Fill(ds);
            //  con.Close();
            if (ds.Tables[0].Rows.Count > 0)
            {
                roles.Mode = "Edit";
            }
            else
            {
                roles.Mode = "Add";
            }
            return(roles.Mode);
        }
        public JsonResult GetRoleDataForUserRights(int UserID)
        {
            connect();
            DataSet            ds         = new DataSet();
            List <RolesRights> usersRight = new List <RolesRights>();

            try
            {
                SqlCommand cmd = new SqlCommand("GetRoleDataForUserRights", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@HospitalID", HospitalID);
                cmd.Parameters.AddWithValue("@LocationID", LocationID);
                cmd.Parameters.AddWithValue("@UserID", UserID);
                con.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(ds);

                foreach (DataRow dr in ds.Tables[1].Rows)
                {
                    RolesRights role = new RolesRights();
                    role.ModuleID  = Convert.ToInt32(dr["ModuleID"]);
                    role.RightCode = Convert.ToInt32(dr["Rights"]);
                    //  role.RightCode = Convert.ToInt32(dr["RightCode"]);
                    usersRight.Add(role);
                }
                con.Close();
            }
            catch (Exception ex)
            {
                con.Close();
                ex.ToString();
            }
            // return Json(usersRight, JsonRequestBehavior.AllowGet); //new JsonResult { Data = GetRoleRights, JsonRequestBehavior = JsonRequestBehavior.AllowGet };

            var jsonResult = Json(usersRight, JsonRequestBehavior.AllowGet);

            jsonResult.MaxJsonLength = int.MaxValue;
            return(jsonResult);

            //return new JsonResult { Data = usersRight, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
        }
Пример #11
0
        public ActionResult RoleRightsLevel2(int Level1ModuleID)
        {
            List <RolesRights> objSearch = new List <Models.Keystone.RolesRights>();
            BL_RolesRights     BLobj     = new BL_RolesRights();
            RolesRights        obj       = new RolesRights();

            ModelState.Clear();
            obj.GetRoleAndRights = BLobj.GetRoleAndRights();
            DataView dataView3 = new DataView(obj.GetRoleAndRights.Tables[0], " ParentModuleID = " + Level1ModuleID + "", "", DataViewRowState.CurrentRows);

            foreach (DataRow dr in dataView3.ToTable().Rows)
            {
                objSearch.Add(new RolesRights {
                    ModuleID   = Convert.ToInt32(dr["ModuleID"]),
                    ModuleName = dr["ModuleName"].ToString(),
                });
            }
            return(new JsonResult {
                Data = objSearch, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
        //
        // GET: /RoleRightstwo/
        public ActionResult RoleRightstwo(int RoleID)
        {
            BL_RolesRights BLobj = new BL_RolesRights();
            RolesRights    obj   = new RolesRights();

            ModelState.Clear();
            obj.GetRoleAndRights = BLobj.GetRoleAndRights();
            obj.GetRoles         = RolesRights.GetAllRols();
            if (RoleID > 0)
            {
                obj.GetRights = RolesRights.GetRoleAndRightsByRoleID(RoleID);
                obj.RoleID    = obj.GetRights.Tables[0].Rows[0]["RoleID"].ToString();
                obj.RoleName  = obj.GetRights.Tables[0].Rows[0]["RoleName"].ToString();
            }
            else
            {
                //  obj.RoleName = "";
                //  obj.RoleID = "0";
            }
            return(View(obj));
        }
Пример #13
0
        /// <summary>
        /// 添加页面权限
        /// </summary>
        /// <param name="item"></param>
        /// <param name="rolesRight"></param>
        /// <returns></returns>
        private bool AddRoleRight(RoleRightRequestDTO item, out RolesRights rolesRight)
        {
            bool result;

            //判断是否已经存在记录
            var obj = _rolesRights.Table.FirstOrDefault(s => s.ProjectRolesID == item.ProjectRolesID && s.ProjectMenuID == item.ProjectMenuID);

            if (obj != null)
            {
                rolesRight = obj;
                result     = true;
            }
            else
            {
                //角色权限(页面菜单)
                rolesRight = new RolesRights
                {
                    Id                  = Guid.NewGuid(),
                    ProjectRolesID      = item.ProjectRolesID,
                    ProjectMenuID       = item.ProjectMenuID,
                    ProjectMenuParendID = item.ProjectMenuParendID,
                    CreatedTime         = DateTime.Now,
                    DeletedState        = 0,
                    DeletedTime         = null,
                    FunctionName        = item.FunctionName,
                    DisplayNo           = item.DisplayNo,
                    IsDefault           = item.IsDefault
                };

                //添加当前角色的页面权限
                _rolesRights.PreInsert(rolesRight);
                result = _rolesRights.SaveChanges();
            }


            return(result);
        }
Пример #14
0
        /// <summary>
        /// 当权限不存在时,添加权限
        /// </summary>
        /// <param name="request"></param>
        private void AddRight(AddRightsRequest request)
        {
            //如果不存在,则添加
            var menuObj = _menu.GetById(request.menuId);

            //添加页面权限
            var obj = new RolesRights
            {
                Id                  = Guid.NewGuid(),
                CreatedTime         = DateTime.Now,
                DeletedTime         = null,
                DeletedState        = 0,
                IsDefault           = 0,
                ProjectRolesID      = request.roleId,
                ProjectMenuID       = menuObj.Id,
                FunctionKey         = menuObj.FunctionKey,
                FunctionName        = menuObj.FunctionName,
                ImgUrl              = menuObj.FunctionUrl,
                ProjectMenuParendID = menuObj.ParentID,
                DisplayNo           = menuObj.DisplayNo,
                Icon                = menuObj.Icon,
                FunctionType        = menuObj.FunctionType
            };

            _rolesRights.Insert(obj);

            //表示添加的是一级页面
            if (obj.ProjectMenuParendID == null)
            {
                var rights = new List <RolesRights>();
                //同步添加二级页面
                var projectMenus = _menu.Table.Where(s => s.ParentID == obj.ProjectMenuID);
                foreach (var projectMenu in projectMenus)
                {
                    rights.Add(new RolesRights()
                    {
                        Id                  = Guid.NewGuid(),
                        CreatedTime         = DateTime.Now,
                        DeletedTime         = null,
                        DeletedState        = 0,
                        IsDefault           = 0,
                        ProjectRolesID      = request.roleId,
                        ProjectMenuID       = projectMenu.Id,
                        FunctionKey         = projectMenu.FunctionKey,
                        FunctionName        = projectMenu.FunctionName,
                        ImgUrl              = projectMenu.FunctionUrl,
                        ProjectMenuParendID = projectMenu.ParentID,
                        DisplayNo           = projectMenu.DisplayNo,
                        Icon                = projectMenu.Icon,
                        FunctionType        = projectMenu.FunctionType
                    });
                }
                _rolesRights.AddRange(rights);
            }
            //表示添加的是二级页面
            else
            {
                //判断是否存在一级页面
                var parendObj = _rolesRights.Table.Where(s => s.ProjectRolesID == request.roleId && s.ProjectMenuID == obj.ProjectMenuParendID).ToList();
                if (parendObj.Any())
                {
                    return;
                }

                //不存在则同步添加
                var parendMenu = _menu.GetById(obj.ProjectMenuParendID);
                _rolesRights.Insert(new RolesRights
                {
                    Id                  = Guid.NewGuid(),
                    CreatedTime         = DateTime.Now,
                    DeletedTime         = null,
                    DeletedState        = 0,
                    IsDefault           = 0,
                    ProjectRolesID      = request.roleId,
                    ProjectMenuID       = parendMenu.Id,
                    FunctionKey         = parendMenu.FunctionKey,
                    FunctionName        = parendMenu.FunctionName,
                    ImgUrl              = parendMenu.FunctionUrl,
                    ProjectMenuParendID = parendMenu.ParentID,
                    DisplayNo           = parendMenu.DisplayNo,
                    Icon                = parendMenu.Icon,
                    FunctionType        = parendMenu.FunctionType
                });
            }
        }
Пример #15
0
        /// <summary>
        /// 添加、修改角色页面权限
        /// 用于PC,角色管理--权限设置--重新设置页面权限
        /// 停用
        /// </summary>
        /// <returns></returns>
        public JsonResponse AddRoleRight(AddRoleRightsStrRequest request)
        {
            var rolesRights        = new List <RolesRights>();
            var rolesRightsButtons = new List <RolesRightsButtons>();

            try
            {
                //当前选中的菜单集合,过滤按钮集合
                foreach (var item in request.data.Where(s => s.lv != 3))
                {
                    //获取当前操作的菜单
                    var menu = _menu.GetById(item.id);
                    if (menu == null)
                    {
                        continue;
                    }

                    //添加到角色权限表
                    var result = new RolesRights()
                    {
                        Id                  = Guid.NewGuid(),
                        CreatedTime         = DateTime.Now,
                        DeletedTime         = null,
                        DeletedState        = 0,
                        IsDefault           = 0,
                        ProjectRolesID      = request.RoleId,
                        ProjectMenuID       = menu.Id,
                        ProjectMenuParendID = menu.ParentID,
                        FunctionKey         = menu.FunctionKey,
                        FunctionName        = menu.FunctionName,
                        DisplayNo           = menu.DisplayNo,
                        ImgUrl              = menu.FunctionUrl,
                        FunctionType        = menu.FunctionType,
                        Icon                = menu.Icon
                    };
                    rolesRights.Add(result);

                    //同步添加当前菜单下的操作按钮(筛选当前菜单下存在的操作按钮集合)
                    rolesRightsButtons.AddRange(request.data.Where(s => s.lv == 3 && s.parentId == item.id)
                                                .Select(c => new RolesRightsButtons
                    {
                        Id                   = Guid.NewGuid(),
                        CreatedTime          = DateTime.Now,
                        DeletedTime          = null,
                        DeletedState         = 0,
                        ProjectRolesRightsID = result.Id,
                        ProjectButtonsID     = c.id,
                        ButtonName           = c.label,
                        DisplayNo            = c.displayNo
                    }));
                }


                //开启事务
                var tranRolesRight = _rolesRights.Context.Database.BeginTransaction();

                try
                {
                    //优先删除该角色的菜单权限
                    var roleRights = _rolesRights.Table.Where(s => s.ProjectRolesID == request.RoleId && s.FunctionType == 2).ToList();
                    if (roleRights.Count > 0)
                    {
                        _rolesRights.DeleteList(roleRights);
                    }
                    //再删除该角色的操作权限
                    foreach (var roleRightButtons in roleRights.Select(item => _rolesRightsButtons.Table.Where(s => s.ProjectRolesRightsID == item.Id)).Where(roleRightButtons => roleRightButtons.ToList().Count > 0))
                    {
                        _rolesRightsButtons.DeleteList(roleRightButtons.ToList());
                    }

                    //再添加该角色的菜单权限
                    _rolesRights.AddRange(rolesRights);
                    //再添加该角色的操作权限
                    _rolesRightsButtons.AddRange(rolesRightsButtons);


                    _rolesRights.SaveChanges();
                    //事务提交
                    tranRolesRight.Commit();
                }
                catch (Exception)
                {
                    //事务回滚
                    tranRolesRight.Rollback();
                }

                return(new JsonResponse(OperatingState.Success, "数据添加成功"));
            }
            catch (Exception e)
            {
                return(new JsonResponse(OperatingState.Failure, "数据添加失败", e.Message));
            }
        }
Пример #16
0
        public bool addRolesRight(RolesRights roles, Rights right)
        {
            int length = 0;

            connect();
            con.Open();
            try
            {
                SqlCommand cmdIURole = new SqlCommand("IURole", con);
                cmdIURole.CommandType = CommandType.StoredProcedure;
                if (roles.RoleID == "" || roles.RoleID == null)
                {
                    cmdIURole.Parameters.AddWithValue("@RoleID", 0);
                    cmdIURole.Parameters["@RoleID"].Direction = ParameterDirection.Output;
                    Mode = "Add";
                }
                else
                {
                    cmdIURole.Parameters.AddWithValue("@RoleID", roles.RoleID);
                    Mode = "Edit";
                }
                cmdIURole.Parameters.AddWithValue("@RoleName", roles.RoleName);
                cmdIURole.Parameters.AddWithValue("@ReferenceCode", 1);
                cmdIURole.Parameters.AddWithValue("@Description", "");
                cmdIURole.Parameters.AddWithValue("@RowInternal", false);
                cmdIURole.Parameters.AddWithValue("@CreationID", UserID);
                cmdIURole.Parameters.AddWithValue("@Mode", Mode);
                int output = cmdIURole.ExecuteNonQuery();
                if (output > 0)
                {
                    roles.RoleID = cmdIURole.Parameters["@RoleID"].Value.ToString();
                    int Number = 0;
                    if (right.OLDRightID == null)
                    {
                        length = 0;
                    }
                    else
                    {
                        length = right.OLDRightID.Length;
                    }
                    //for (int i = 0; i < right.ParentLevel0ID.Length; i++)
                    //{


                    //DataSet dsexpect=       GetRoleAndRightsByRoleID(Convert.ToInt32( roles.RoleID));
                    //       List<string> OldDataExpect = new List<string>() ;
                    //       foreach(DataRow dr in dsexpect.Tables[0].Rows)
                    //       {
                    //           OldDataExpect.Add(Convert.ToString(dr["ModuleID"].ToString() + "+" + dr["RightCode"].ToString()));
                    //       }
                    //       //string[] l = OldDataExpect.Split('+');


                    //   string[] Level = OldDataExpect.Except(right.ParentLevel4ID).ToArray();
                    if (right.ParentLevel4ID != null)
                    {
                        for (int m = 0; m < right.ParentLevel4ID.Length; m++)
                        {
                            if (length > 0)
                            {
                                //if (right.ParentLevel4ID.Length > right.OLDRightID.Length)
                                //{
                                //    right.ParentLevel1ID = right.ParentLevel4ID.Except(right.OLDRightID).ToArray();
                                //    for (int j = 0; j < right.ParentLevel1ID.Length; j++)
                                //    {
                                string[] parentwithIDs = right.ParentLevel4ID[m].Split('+');
                                roles.Mode = "Add";
                                add(roles, parentwithIDs, Number);
                                //    }
                                //}
                                //else
                                //{
                                //    right.ParentLevel1ID = right.OLDRightID.Except(right.ParentLevel4ID).ToArray();

                                //    Number = 1;
                                //    for (int j = 0; j < right.ParentLevel1ID.Length; j++)
                                //    {
                                //        string[] parentwithIDs = right.ParentLevel1ID[j].Split('+');
                                //        roles.Mode = "Edit";
                                //        add(roles, parentwithIDs, Number);
                                //    }
                                //}
                                //  break;
                            }
                            else
                            {
                                string[] parentwithID = right.ParentLevel4ID[m].Split('+');
                                roles.Mode = "Add";
                                add(roles, parentwithID, Number);
                            }
                        }
                    }
                    if (right.beforAfterchk[0] != "")
                    {
                        beforAfterchk(roles, right);
                    }


                    // }
                    if (result > 0)
                    {
                        flag = true;
                    }
                    else
                    {
                        flag = false;
                    }
                }
                else
                {
                    flag = false;
                }
            }

            catch (Exception ex)

            {
                con.Close();
                flag = false;
            }
            con.Close();
            return(flag);
        }