Example #1
0
        public ActionResult SetRole()
        {
            var userID = Request["hdnUserID"] == null ? 0 : int.Parse(Request["hdnUserID"]);


            //首先获取设置角色的用户ID,查询出用户的信息
            //var userId = Request["HideUserID"] == null ? 0 : int.Parse(Request["HideUserID"]);
            //var currentSetUser = _userInfoService.LoadEntities(c => c.ID == userId).FirstOrDefault();
            //if (currentSetUser != null)
            //{
            //    //给当前用户设置角色,从前台拿到所有的 角色 sru_3,从请求的表单里面拿到所有的以sru_开头的key。
            //    //第一种方法
            //    //foreach (var allKey in Request.Form.AllKeys)
            //    //{
            //    //}
            //    //第二种写法
            var allKeys = from key in Request.Form.AllKeys
                          where key.StartsWith("sru_")
                          select key;
            //首先顶一个list集合存放传递过来的key,也就是角色的ID
            var roleIDs = new List <int>();

            //循环将角色的ID加入到集合中
            if (userID > 0)
            {
                foreach (var key in allKeys)
                {
                    roleIDs.Add(int.Parse(key.Replace("sru_", "")));
                }
            }

            IUserroleService userroleService = UnityHelper.UnityResolve <IUserroleService>();

            userroleService.SetUserRoles(userID, roleIDs, CurrentUserInfo.UserID.ToString());

            //_userInfoService.SetBaseUserRole(userId, roleIDs, Session["UserInfo"] as BaseUser);
            //}

            return(Content("OK"));
        }