public async Task <IdentityResult> EditUserAsync(CreateOrUpdateUserRequest input) { var user = await _UserManager.FindByIdAsync(input.User.Id.ToString()); if (user.UserName == input.User.UserName && user.Id != input.User.Id) { return(IdentityResult.Failed(new IdentityError { Code = "UserNameAlreadyExist", Description = "This user name is already exist!" })); } if (!string.IsNullOrEmpty(input.User.Password)) { var changePasswordResult = await ChangePassword(user, input.User.Password); if (!changePasswordResult.Succeeded) { return(changePasswordResult); } } return(await UpdateUser(input, user)); }
private async Task <IdentityResult> UpdateUser(CreateOrUpdateUserRequest input, User user) { user.UserName = input.User.UserName; user.Email = input.User.Email; user.SecurityStamp = Guid.NewGuid().ToString(); user.UserRoleId = input.GrantedRoleId; return(await _UserManager.UpdateAsync(user)); }
public async Task <IdentityResult> AddUserAsync(CreateOrUpdateUserRequest input) { var user = new User { Id = input.User.Id, UserName = input.User.UserName, Email = input.User.Email }; return(await _UserManager.CreateAsync(user, input.User.Password)); }
public Task <BaseResponse <string> > CreateOrUpdateUser(CreateOrUpdateUserRequest request) { string id = ""; if (!request.Data.Id.HasValue) { var itemNew = AutoMapper.Map <UserDto, SysUser>(request.Data); id = _repoUser.Insert(itemNew).Id.ToString(); } else { var item = _repoUser.FindById(request.Data.Id.Value); item.Email = request.Data.Email; item.Fullname = request.Data.Fullname; id = _repoUser.Update(item).Id.ToString(); } return(Task.FromResult(new BaseResponse <string> { Data = id })); }
public async Task <IActionResult> CreateOrUpdate(Guid id, [FromBody] CreateOrUpdateUserRequest request) { if (request is null) { return(BadRequest()); } if (!await _users.Find(new BsonDocument("_id", id)).AnyAsync()) { await _bus.Publish <CreateUser>(new { Id = id, request.DisplayName, request.FirstName, request.LastName, request.LoginName, request.Email, request.Avatar, UserId }); } else { await _bus.Publish <UpdateUser>(new { Id = id, NewDisplayName = request.DisplayName, NewFirstName = request.FirstName, NewLastName = request.LastName, request.LoginName, NewEmail = request.Email, NewAvatar = request.Avatar, UserId }); } return(AcceptedAtRoute("GetUserById", new { id }, null)); }