示例#1
0
        public JsonResult RoleSave()
        {
            NcManagerRole             model          = new NcManagerRole();
            List <NcManagerRoleValue> modelRoleValue = new List <NcManagerRoleValue>();

            action = Request.Form["act"];
            if (action.ToLower() == JHEnums.ActionEnum.Edit.ToString().ToLower())//修改
            {
                int id = Utils.StrToInt(Request.Form["id"]);
                model = dblEf.Find <NcManagerRole>(id);

                model = RoleSetModel(model, out modelRoleValue);

                if (RoleUpdate(model, modelRoleValue))
                {
                    strStatus = "1";
                    strMsg    = "保存成功";
                }
            }
            else//新增
            {
                model = RoleSetModel(model, out modelRoleValue);

                if (RoleAdd(model, modelRoleValue) > 0)
                {
                    strStatus = "1";
                    strMsg    = "保存成功";
                }
            }
            return(Json(new { status = strStatus, msg = strMsg }));
        }
示例#2
0
        public bool RoleUpdate(NcManagerRole model, List <NcManagerRoleValue> modelRoleValue)
        {
            StringBuilder strSql3 = new StringBuilder();

            //添加权限
            if (modelRoleValue != null)
            {
                foreach (NcManagerRoleValue modelt in modelRoleValue)
                {
                    strSql3.Append("insert into nc_manager_role_value(");
                    strSql3.Append("role_id,nav_name,action_type)");
                    strSql3.Append(" values (");
                    strSql3.Append("" + model.Id + ",'" + modelt.NavName + "','" + modelt.ActionType + "');");
                }
                strSql3.Append(@"if @@error<>0 begin rollback tran
                                    select N'fail' as result
                                    return
                                end"
                               );
            }
            //1.先删除该角色所有权限
            //2.添加权限
            string sql = @"                
                            Begin Tran
                                update nc_manager_role set role_name=@role_name,role_type=@role_type,is_sys=@is_sys where id=@id
                                if @@error<>0 begin rollback tran
                                    select N'fail' as result
                                    return
                                end
                                delete from nc_manager_role_value where role_id=@role_id
                                if @@error<>0 begin rollback tran
                                    select N'fail' as result
                                    return
                                end
                                " + strSql3.ToString() + @"
                                select N'success' as result
                            Commit Tran
                        ";

            DbParameters p = new DbParameters();

            p.Add("@role_name", model.RoleName);
            p.Add("@role_type", model.RoleType);
            p.Add("@is_sys", model.IsSys);
            p.Add("@id", model.Id);
            p.Add("@role_id", model.Id);

            string result = Utils.ObjectToStr(Dbl.ZZCMS.CreateSqlScalar(sql, p));

            return(result == "success");
        }
示例#3
0
        public int RoleAdd(NcManagerRole model, List <NcManagerRoleValue> modelRoleValue)
        {
            StringBuilder strSql2 = new StringBuilder();

            if (modelRoleValue != null)
            {
                foreach (NcManagerRoleValue modelt in modelRoleValue)
                {
                    strSql2.Append("insert into nc_manager_role_value(");
                    strSql2.Append("role_id,nav_name,action_type)");
                    strSql2.Append(" values (");
                    strSql2.Append("@ReturnValue,'" + modelt.NavName + "','" + modelt.ActionType + "');");
                }
                strSql2.Append(@"if @@error<>0 begin rollback tran
                                    select N'fail' as result
                                    return
                                end"
                               );
            }
            //1.添加角色
            //2.添加对应的权限
            string sql = @"                
                            Begin Tran
                                declare @ReturnValue as int
                                insert into nc_manager_role(role_name,role_type,is_sys) values(@role_name,@role_type,@is_sys);set @ReturnValue= @@IDENTITY
                                if @@error<>0 begin rollback tran
                                    select N'fail' as result
                                    return
                                end
                                " + strSql2.ToString() + @"
                                select N'success' as result
                            Commit Tran
                        ";

            DbParameters p = new DbParameters();

            p.Add("@role_name", model.RoleName);
            p.Add("@role_type", model.RoleType);
            p.Add("@is_sys", model.IsSys);

            string result = Utils.ObjectToStr(Dbl.ZZCMS.CreateSqlScalar(sql, p));

            return(result == "success" ? 1 : 0);
        }
示例#4
0
        /// <summary>
        /// 获取系统菜单
        /// </summary>

        public JsonResult getSysMenu()
        {
            int    strStatus = 0;
            string msg       = string.Empty;

            if (!IsAdminLogin())
            {
                msg       = "管理员信息异常";
                strStatus = 1;
                return(Json(new { status = strStatus, message = msg }));
            }
            NcManagerRole roleModel = dblEf.NcManagerRole.Where(mr => mr.Id == siteAdminInfo.RoleId).FirstOrDefault(); //获得管理角色信息

            if (roleModel == null)
            {
                msg       = "获取角色异常";
                strStatus = 1;
                return(Json(new { status = strStatus, message = msg }));
            }
            List <NcManagerRoleValue> roleValueModel = null;

            if (siteAdminInfo.RoleType > 1)                                                                          //排除超管
            {
                roleValueModel = dblEf.NcManagerRoleValue.Where(mrv => mrv.RoleId == siteAdminInfo.RoleId).ToList(); //管理员值
                if (roleValueModel == null)
                {
                    msg       = "获取角色异常";
                    strStatus = 1;
                    return(Json(new { status = strStatus, message = msg }));
                }
            }

            DataTable     dt      = base.GetNavCacheList("nav_type='" + JHEnums.NavigationEnum.System.ToString() + "'");//此处使用缓存
            StringBuilder strJson = new StringBuilder();

            msg = get_nav_tree(strJson, dt, 0, (int)roleModel.RoleType, roleValueModel);

            return(Json(new { status = strStatus, message = msg }));
        }
示例#5
0
 /// <summary>
 /// 角色获取赋值
 /// </summary>
 private NcManagerRole RoleSetModel(NcManagerRole model, out List <NcManagerRoleValue> modelRoleValue)
 {
     model.RoleType = 2;
     model.RoleName = Request.Form["RoleName"];
     model.IsSys    = 0;
     modelRoleValue = new List <NcManagerRoleValue>();
     string[] nav_name = Request.Form["hidName"].ToString().Split(',');
     for (int i = 0; i < nav_name.Length; i++)
     {
         string action_type = Request.Form[nav_name[i]];
         if (!string.IsNullOrEmpty(action_type))
         {
             for (int j = 0; j < action_type.Split(',').Length; j++)
             {
                 string s = action_type.Split(',')[j];
                 modelRoleValue.Add(new NcManagerRoleValue {
                     RoleId = model.Id, NavName = nav_name[i], ActionType = s
                 });
             }
         }
     }
     return(model);
 }
示例#6
0
        public ActionResult Role_Edit()
        {
            action = Request.Query["act"];
            int id = Utils.StrToInt(Request.Query["id"]);

            CacheHelper.Remove("permisson" + id);//角色编辑清空缓存
            NcManagerRole             model          = new NcManagerRole();
            List <NcManagerRoleValue> modelRoleValue = new List <NcManagerRoleValue>();

            if (action.ToLower() == JHEnums.ActionEnum.Edit.ToString().ToLower() && id != 0) //修改
            {
                model          = BindRoleById(id);
                modelRoleValue = dblEf.NcManagerRoleValue.Where(mrv => mrv.RoleId == id).ToList();
            }

            NcManager adminModel = siteAdminInfo; //获得当前登录管理员信息

            ViewBag.action        = action;
            ViewBag.id            = id;
            ViewBag.DtRoleNav     = RoleNavBind((int)adminModel.RoleType, (int)adminModel.RoleId);
            ViewBag.AdminModel    = adminModel;
            ViewBag.ListRoleValue = modelRoleValue;
            return(View(model));
        }
示例#7
0
        /// <summary>
        /// 根据角色id获取角色model
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        private NcManagerRole BindRoleById(int id)
        {
            NcManagerRole model = dblEf.Find <NcManagerRole>(id);

            return(model);
        }