public async Task <ActionResult> UpdateResource(AdminUpdateUser user) { var response = await service.UpdateResource(user, pathRoot); if (response.status == true) { return(Ok(response)); } return(NotFound(response)); }
public async Task Can_AdminUpdateUser() { var createUserRequest = CreateUserRequest(); var response = client.Post(createUserRequest); AssertFirstLastUser(response); var updateUserRequest = new AdminUpdateUser { Id = response.Id, FirstName = "Given", LastName = "Surname", DisplayName = "Display Name", Email = "*****@*****.**", Password = "******", ProfileUrl = Svg.Images[Svg.Icons.FemaleBusiness], RemoveRoles = new List <string> { "TheRole" }, AddRoles = new List <string> { "NewRole" }, AddPermissions = new List <string> { "ThePermission" }, }; var updated = client.Put(updateUserRequest); Assert.That(updated.Id, Is.EqualTo(response.Id)); Assert.That(updated.Result[nameof(UserAuth.FirstName)], Is.EqualTo("Given")); Assert.That(updated.Result[nameof(UserAuth.LastName)], Is.EqualTo("Surname")); Assert.That(updated.Result[nameof(UserAuth.DisplayName)], Is.EqualTo("Display Name")); Assert.That(updated.Result[nameof(UserAuth.Email)], Is.EqualTo("*****@*****.**")); Assert.That(updated.Result[nameof(UserAuth.PrimaryEmail)], Is.EqualTo("*****@*****.**")); Assert.That(updated.Result[nameof(UserAuth.Roles)], Is.EqualTo(new List <string> { "NewRole" })); Assert.That(updated.Result[nameof(UserAuth.Permissions)], Is.EqualTo(new List <string> { "ThePermission" })); Assert.That(updated.Result[nameof(IAuthSession.ProfileUrl)], Is.EqualTo(Svg.Images[Svg.Icons.FemaleBusiness])); var authRepo = appHost.GetAuthRepository(); using (authRepo as IDisposable) { Assert.That(authRepo.TryAuthenticate("*****@*****.**", "newp@ss", out _)); } }
public async Task <IResponse> UpdateResource(AdminUpdateUser user, string rootPath) { var selectedUser = await userManager.FindByIdAsync(user.Id + ""); if (selectedUser != null) { selectedUser.UserName = user.UserName; selectedUser.Email = user.Email; selectedUser.EmailConfirmed = true; selectedUser.JobTitle = user.JobTitle; selectedUser.CostPerHour = user.CostPerHour; if (!String.IsNullOrEmpty(user.Password)) { await userManager.RemovePasswordAsync(selectedUser); await userManager.AddPasswordAsync(selectedUser, user.Password); } if (!String.IsNullOrEmpty(user.Base64)) { selectedUser.Photo = file.SaveImage(user.Base64, selectedUser.Id + "", "Images/Users", rootPath); } var result = await userManager.UpdateAsync(selectedUser); //if (String.IsNullOrEmpty(user.Role)) //{ // var PreviousRole = await userManager.GetRolesAsync(selectedUser); // if (PreviousRole.Count != 0) // { // await userManager.RemoveFromRoleAsync(selectedUser, PreviousRole.FirstOrDefault()); // } // await userManager.AddToRoleAsync(selectedUser, user.Role); //} } else { response.status = false; response.error_EN = "user doesn't exist"; } return(response); }