示例#1
0
        public ActionResult SetRole(SetRoleRequest request)
        {
            var flag = false;
            var msg  = string.Empty;

            if (request.RoleIds.IsNullOrEmpty())
            {
                msg = "请选择角色!";
                return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
            }

            var rs = _userService.SetRole(request);

            if (rs.ReturnCode == ReturnCodeType.Success && rs.Content == true)
            {
                flag = true;
                msg  = "设置角色成功!";
            }
            else
            {
                msg = rs.Message.IsNullOrEmpty() ? "设置角色失败!" : rs.Message;
            }

            return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public ActionResult SetRole(SetRoleRequest request)
        {
            var flag = false;
            var msg  = string.Empty;

            if (request.RoleIds.IsNullOrEmpty())
            {
                msg = "请选择角色!";
                return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
            }

            using (var factory = new ChannelFactory <IRightsUserService>("*"))
            {
                var client = factory.CreateChannel();
                var rs     = client.SetRole(request);
                if (rs.ReturnCode == ReturnCodeType.Success && rs.Content == true)
                {
                    flag = true;
                    msg  = "设置角色成功!";
                }
                else
                {
                    msg = rs.Message.IsNullOrEmpty() ? "设置角色失败!" : rs.Message;
                }
            }

            return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        /// <summary>
        /// 为所选用户设置角色(支持批量)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public bool SetRole(SetRoleRequest request)
        {
            //先删除所选用户原来的拥有角色
            //再新增所选用户选择的新角色
            //使用事务
            var result       = false;
            var userIds      = request.UserIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.ToInt()).OrderBy(p => p).ToList();
            var roleIds      = request.RoleIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.ToInt()).OrderBy(p => p).ToList();
            var addUserRoles = new List <TRightsUserRole>();//待添加的用户角色

            foreach (var userId in userIds)
            {
                foreach (var roleId in roleIds)
                {
                    var addUserRole = new TRightsUserRole()
                    {
                        UserId = userId,
                        RoleId = roleId
                    };
                    addUserRoles.Add(addUserRole);
                }
            }

            using (var conn = DapperHelper.CreateConnection())
            {
                var trans = conn.BeginTransaction();

                try
                {
                    //先删除
                    conn.Execute(@"DELETE FROM dbo.t_rights_user_role WHERE user_id IN @UserIds;", new { @UserIds = userIds }, trans);

                    //后添加
                    conn.Execute(@"INSERT INTO dbo.t_rights_user_role VALUES ( @UserId,@RoleId);", addUserRoles, trans);

                    trans.Commit();
                    result = true;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                }
            }

            return(result);
        }
示例#4
0
        /// <summary>
        /// 为所选用户设置角色(支持批量)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ServiceResult <bool> SetRole(SetRoleRequest request)
        {
            //先删除所选用户原来的拥有角色
            //再新增所选用户选择的新角色
            var result = new ServiceResult <bool>
            {
                ReturnCode = ReturnCodeType.Error
            };

            var rs = userDao.SetRole(request);

            if (rs == true)
            {
                result.ReturnCode = ReturnCodeType.Success;
                result.Content    = true;
            }

            return(result);
        }