public async Task <Result> UpdateUser(UpdateApplicationUser updateApplicationUser) { if (_userManager == null) { throw new IdentityObjectNotInitialized("UserManager"); } var user = await _userManager.FindByIdAsync(updateApplicationUser.Id); user.FirstName = updateApplicationUser.FirstName; user.LastName = updateApplicationUser.LastName; user.Email = updateApplicationUser.Email; user.UserName = updateApplicationUser.Email; user.PhoneNumber = updateApplicationUser.PhoneNumber; if (!string.IsNullOrWhiteSpace(updateApplicationUser.Password)) { var token = await _userManager.GeneratePasswordResetTokenAsync(user); await _userManager.ResetPasswordAsync(user, token, updateApplicationUser.Password); } if (!string.IsNullOrWhiteSpace(updateApplicationUser.RoleName)) { await _userManager.AddToRoleAsync(user, updateApplicationUser.RoleName); } var result = await _userManager.UpdateAsync(user); return(result.ToApplicationResult()); }
public void UpdateApplicationUserRole() { UpdateApplicationUser viewModel = new UpdateApplicationUser() { Id = Context.ApplicationUser.FirstOrDefault().Id, ApplicationRolesId = new List <int> { 2 } }; Service.UpdateApplicationUserRole(viewModel, Context.ApplicationUser.FirstOrDefault()); Assert.Pass(); }
public async Task UpdateApplicationUser() { UpdateApplicationUser viewModel = new UpdateApplicationUser() { Id = Context.ApplicationUser.FirstOrDefault().Id, ApplicationRolesId = new List <int> { Context.ApplicationRole.FirstOrDefault().Id } }; await Service.UpdateApplicationUser(viewModel); Assert.Pass(); }
/// <summary> /// Updates Application User Role /// </summary> /// <param name="viewModel">Injected <see cref="UpdateApplicationUser"/></param> /// <param name="entity">Injected <see cref="ApplicationUser"/></param> public void UpdateApplicationUserRole(UpdateApplicationUser @viewModel, ApplicationUser @applicationUser) { @viewModel.ApplicationRolesId.AsQueryable().ToList().ForEach(async x => { ApplicationRole @applicationRole = await FindApplicationRoleById(x); ApplicationUserRole @applicationUserRole = new() { UserId = @applicationUser.Id, RoleId = @applicationUser.Id, }; @applicationUser.ApplicationUserRoles.Add(@applicationUserRole); }); }
public virtual IHttpActionResult Put(string id, [FromBody] UpdateApplicationUser value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ApplicationUser model = repository.GetByID(id); try { model.Update(value); } catch (Exception e) { return(BadRequest(e.Message)); } repository.Update(model); return(Content(HttpStatusCode.NoContent, "")); }
/// <summary> /// Updates Application User /// </summary> /// <param name="viewModel">Injected <see cref="UpdateApplicationUser"/></param> /// <returns>Instance of <see cref="Task{ViewApplicationUser}"/></returns> public async Task <ViewApplicationUser> UpdateApplicationUser(UpdateApplicationUser @viewModel) { ApplicationUser @applicationUser = await FindApplicationUserById(@viewModel.Id); @applicationUser.ApplicationUserRoles = new List <ApplicationUserRole>(); Context.ApplicationUser.Update(@applicationUser); UpdateApplicationUserRole(@viewModel, @applicationUser); await Context.SaveChangesAsync(); // Log string logData = @applicationUser.GetType().Name + " with Id" + @applicationUser.Id + " was modified at " + DateTime.Now.ToShortTimeString(); Logger.WriteUpdateItemLog(@logData); return(Mapper.Map <ViewApplicationUser>(@applicationUser));; }
public async Task <EntityApiResponse <ApplicationUser> > UpdateUserAsync(string userId, UpdateApplicationUser userDetail) { if (userDetail is null) { throw new ArgumentNullException(nameof(userDetail)); } var user = await _userManger.FindByIdAsync(userId); user.FirstName = userDetail.FirstName; user.LastName = userDetail.LastName; user.ProfilePicture = userDetail.ProfilePicture; var result = await _userManger.UpdateAsync(user); if (!result.Succeeded) { return(new EntityApiResponse <ApplicationUser>(error: result.Errors.Select(error => error.Description).AllInOne())); } return(new EntityApiResponse <ApplicationUser>(entity: user)); }