public async Task<JsonResult> UserAddRole([FromForm] UserAddRoleVm info) { var result = new ResultJsonNoDataInfo(); var respositoryResult = await AccountRespository.UserAddRole(info); if (respositoryResult.Item1) { result.Status = ResultConfig.Ok; result.Info = ResultConfig.SuccessfulMessage; } else { result.Status = ResultConfig.Fail; result.Info = string.IsNullOrEmpty(respositoryResult.Item2) ? ResultConfig.FailMessage : respositoryResult.Item2; } return Json(result); }
/// <summary> /// 给用户赋予角色 /// </summary> /// <param name="info"></param> /// <returns></returns> public async Task <Tuple <bool, string> > UserAddRole(UserAddRoleVm info) { if (info == null || info.RoleTid < 1 || !string.IsNullOrEmpty(info.UserTid)) { return(new Tuple <bool, string>(false, Tip.BadRequest)); } var role = await this.Entitys.SystemRole.FirstOrDefaultAsync(r => r.Tid.Equals(info.RoleTid)); if (role == null) { return(new Tuple <bool, string>(false, Tip.RoleNotExist)); } var user = await this.Entity.FirstOrDefaultAsync(r => r.IsActive && r.Tid.Equals(info.UserTid)); if (user == null) { return(new Tuple <bool, string>(false, Tip.BadRequest)); } if (GlobalSetting.GoldList.Contains(user.Eid)) { return(new Tuple <bool, string>(false, Tip.GodUserInvaild)); } var createRoleList = new List <long>(); GetRoleName(role, createRoleList); createRoleList.Reverse(); createRoleList = createRoleList.Distinct().ToList(); var updateResult = await this.Entity.Where(r => r.IsActive && r.Tid.Equals(info.UserTid)) .Set(r => r.DataChangeLastTime, DateTime.Now) .Set(r => r.RoleTid, info.RoleTid) .Set(r => r.MenuRights, role.MenuRights) .Set(r => r.CreateRoleName, "," + string.Join(",", createRoleList) + ",") .UpdateAsync() > 0; if (!updateResult) { return(new Tuple <bool, string>(false, Tip.UpdateError)); } return(new Tuple <bool, string>(true, string.Empty)); }