コード例 #1
0
        public async Task <IActionResult> UpdateUser([FromBody] UserEditData model, string id)
        {
            await _userStore.Update(id, user =>
            {
                user.Email = model.Email;
                user.Name  = model.Name;
            });

            return(NoContent());
        }
コード例 #2
0
 public IActionResult ChangePassword(UserEditData data)
 {
     ModelState.Remove("UserName");
     data.UserName = User.Identity.Name;
     if (ModelState.IsValid)
     {
         TempData.Put("RESPONSE", _userService.UpdatePassword(data));
         return(RedirectToAction("Index", "Home"));
     }
     return(View(data));
 }
コード例 #3
0
ファイル: UsersController.cs プロジェクト: ithanshui/ApiBase
        public async Task <ActionResult> editUser(string id, [FromBody] UserEditData user)
        {
            if (ModelState.IsValid)
            {
                var userExist = await _userManager.Users.AnyAsync(x => x.Id == id);

                if (!userExist)
                {
                    return(NotFound());
                }

                var userToEdit = await _userManager.FindByIdAsync(id);

                var roles = await _userManager.GetRolesAsync(userToEdit);

                await _userManager.RemoveFromRolesAsync(userToEdit, roles.ToArray());

                foreach (string rol in user.roles)
                {
                    await _userManager.AddToRoleAsync(userToEdit, rol);
                }

                userToEdit.PhoneNumber = user.PhoneNumber;

                var result = await _userManager.UpdateAsync(userToEdit);

                if (result.Succeeded)
                {
                    return(Ok(new
                    {
                        roles = roles,
                        result = result
                    }));
                }
                else
                {
                    return(BadRequest(new
                    {
                        roles = roles,
                        result = result
                    }));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
コード例 #4
0
        public async Task <ApiResponse> UpdateAsync([FromBody] UserEditData data)
        {
            if (!ModelState.IsValid)
            {
                throw new ApiException(ModelState.AllErrors());
            }

            var includeParams = new IncludeStringConstants().UserRolePermissionIncludeArray.ToList();
            var user          = await _userService.GetUserByIdAsync(data.Id, includeParams.ToArray()).ConfigureAwait(false);

            if (user == null)
            {
                throw new ApiException(MessageBuilder.NotFound, StatusCodes.Status404NotFound);
            }

            //update
            _mapper.Map <UserEditData, User>(data, user);

            await _userService.UpdateAsync(user).ConfigureAwait(false);

            return(await GetAsync(user.Id).ConfigureAwait(false));
        }
コード例 #5
0
        /// <summary>
        /// Update Password and Role of user
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public ResponseData UpdatePassword(UserEditData data)
        {
            var entity = _userRepository.FindByCondition(f => f.Email == data.UserName).FirstOrDefault();

            entity.Password = CryptographyHelper.Encrypt(data.Password.Trim());
            _userRepository.Update(entity);
            if (_userRepository.Save())
            {
                return(new ResponseData
                {
                    Result = true,
                    Message = string.Format(ResponseMessages.MsgEditSuccess, _entity)
                });
            }
            else
            {
                return(new ResponseData
                {
                    Result = false,
                    Message = string.Format(ResponseMessages.MsgEditError, _entity)
                });
            }
        }
コード例 #6
0
 public static User MapToEntity(this User entity, UserEditData data)
 {
     return(entity);
 }