コード例 #1
0
        public async Task <BizServiceResponse> EditAsync(EditUserVO vo, Guid currentUserId, string currentUserLoginName)
        {
            var now  = DateTime.UtcNow;
            var user = await userRepository.FirstOrDefaultAsync(new FindUserSpecification(vo.LoginName));

            if (user == null)
            {
                return(new BizServiceResponse(BizServiceResponseCode.Failed, "修改用户失败:用户不存在"));
            }
            // TODO
            if (user.Type != UserType.SuperAdmin && vo.Type == UserType.SuperAdmin)
            {
                return(new BizServiceResponse(BizServiceResponseCode.Failed, "修改用户失败:不允许修改为超级管理员"));
            }

            //user.LoginName = vo.LoginName;
            user.NickName = vo.NickName;
            user.Type     = vo.Type;
            if (!vo.Password.IsNullOrWhiteSpace())
            {
                user.PasswordHash = vo.Password.MD5Hash();
            }
            user.DOB = vo.DOB;

            var addResult = await userRepository.UpdateAsync(user);

            if (addResult)
            {
                return(new BizServiceResponse(BizServiceResponseCode.Success, "修改用户成功"));
            }
            else
            {
                return(new BizServiceResponse(BizServiceResponseCode.Failed, "修改用户失败"));
            }
        }
コード例 #2
0
        public async Task <IActionResult> EditAsync(EditUserVO vo)
        {
            // TODO:放到basecontroller
            var currentUserId   = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var currentUserName = User.FindFirstValue(ClaimTypes.Name);
            var result          = await userService.EditAsync(vo, new Guid(currentUserId), currentUserName);

            return(Json(result));
        }