Example #1
0
 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);
 }
Example #2
0
        /// <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));
        }