示例#1
0
 public IHttpActionResult UpdateUserInfo(UpdateUserInfoInput input)
 {
     Init();
     input.AccessToken = ApiSession.AccessToken;
     UpdateUserInfoOutput output = _authSvc.UpdateUserInfo(input);
     return Ok(output);
 }
示例#2
0
        public async Task <UserInfoDto> UpdateInfoAsync(UpdateUserInfoInput input)
        {
            input.Email ??= "";
            input.Mobile ??= "";

            var user = await GetCurrentUserAsync();

            if (!(new Regex(
                      // From https://regexlib.com/RETester.aspx?regexp_id=26
                      @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$")
                  .IsMatch(input.Email)))
            {
                throw new UserFriendlyException("Invalid email address: " + input.Email);
            }

            if (!(new Regex(@"^\+?[0-9]{0,15}$")).IsMatch(input.Mobile))
            {
                throw new UserFriendlyException("Invalid mobile: " + input.Mobile);
            }

            user.UserInfo.ClassId  = input.ClassId;
            user.UserInfo.Major    = input.Major;
            user.UserInfo.Email    = input.Email;
            user.UserInfo.Mobile   = input.Mobile;
            user.UserInfo.Location = input.Location;

            return(ObjectMapper.Map <UserInfoDto>(user.UserInfo));
        }
示例#3
0
        public UpdateUserInfoOutput UpdateUserInfo(UpdateUserInfoInput input)
        {
            try
            {
                RestHTTP    http = new RestHTTP();
                RestRequest req  = null;
                if (!string.IsNullOrEmpty(input.Id))
                {
                    req = new RestRequest("api/accounts/update", RestSharp.Method.POST);
                }

                req.AddHeader("Authorization", "Bearer " + input.AccessToken);
                req.RequestFormat = DataFormat.Json;
                req.AddJsonBody(input);

                var response = http.HttpPost <UpdateUserInfoOutput>(req);

                return(response);
            }
            catch (Exception ex)
            {
                WriteLogFile.Append("UpdateUserInfo : ");
                WriteLogFile.Append(ex.Message);
                WriteLogFile.Append(ex.StackTrace);
                return(default(UpdateUserInfoOutput));
            }
        }
示例#4
0
        /// <summary>
        /// 返回SDK需要参数
        /// </summary>
        /// <returns></returns>
        internal UpdateUserInfoInput GetSdk()
        {
            var sdk = new UpdateUserInfoInput
            {
                userId   = userId,
                userName = userName,
                desc     = desc,
                remark   = remark,
                attr1    = attr1,
                attr2    = attr2,
                attr3    = attr3
            };

            return(sdk);
        }
        public async Task <Result <IdentityResult> > UpdateUserInfo(UpdateUserInfoInput input)
        {
            var user = await _userManager.FindByIdAsync(input.UserId.ToString());

            if (user != null)
            {
                user.UserName  = GetUpdatedOrStandartInfoString(user.UserName, input.UserName);
                user.Email     = GetUpdatedOrStandartInfoString(user.Email, input.Email);
                user.FirstName = GetUpdatedOrStandartInfoString(user.FirstName, input.FirstName);
                user.LastName  = GetUpdatedOrStandartInfoString(user.LastName, input.LastName);
                var result = await _userManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    foreach (var roleCombobox in input.RoleComboboxItems.Items)
                    {
                        var isInRole = await _userManager.IsInRoleAsync(user, roleCombobox.Value);

                        if (roleCombobox.IsSelected)
                        {
                            if (!isInRole)
                            {
                                await AddToRole(user, roleCombobox.Value);
                            }
                        }
                        else
                        {
                            if (isInRole)
                            {
                                await RemoveFromRole(user, roleCombobox.Value);
                            }
                        }
                    }
                    return(Result <IdentityResult> .Success(result));
                }
                return(Result <IdentityResult> .Failed(new List <ErrorResult>
                {
                    new ErrorResult($"Не удалось обносить данные для пользователя под Id - {user.Id}")
                }, result));
            }
            return(ErrorNotFoundUser(input.UserId));
        }
示例#6
0
        public async Task <string> UpdateUserInfo(string userId, UpdateUserInfoInput updateUserInfoInput)
        {
            if (updateUserInfoInput == null || string.IsNullOrWhiteSpace(updateUserInfoInput.UserName))
            {
                throw new ArgumentNullException("用户名不可为空");
            }
            var user = await _userRepository.FindUser(userId);

            if (user == null)
            {
                throw new Exception("找不到User");
            }

            user.UpdateInfo(updateUserInfoInput.UserName, updateUserInfoInput.BirthDay,
                            updateUserInfoInput.Email);

            await _unitOfWork.CommitAsync();

            return(user.Id);
        }
 public EditInfoUserViewModel()
 {
     Input = new UpdateUserInfoInput();
 }
示例#8
0
 public async Task <HttpResponseMessage> UpdateUser(HttpRequestMessage request, UpdateUserInfoInput updateUserInfoInput)
 {
     return(await _apiHelper.CreateHttpResponse <string>(request, async() =>
     {
         var Id = await _userAppService.UpdateUserInfo(UserInfo.Id, updateUserInfoInput);
         if (!string.IsNullOrWhiteSpace(Id))
         {
             var userInfoUpdated = Mapper.Map <UserInfoUpdated>(updateUserInfoInput);
             userInfoUpdated.Id = UserInfo.Id;
             await _publishEndpoint.Publish <UserInfoUpdated>(userInfoUpdated);
         }
         return Id;
     }));
 }
示例#9
0
        public virtual async Task <JsonResult> UpdateUserProfile(UpdateUserInfoInput input)
        {
            await _userAppService.UpdateInfoAsync(input);

            return(Json(new AjaxResponse()));
        }