public async Task <IActionResult> Register([FromBody] RegisterUserRquestModel request) { var userExist = await this.userManager.FindByNameAsync(request.Email); if (userExist == null) { var user = new IPCS.Entities.User { UserName = request.Email, Email = request.Email, LastName = request.LastName, FirstName = request.FirstName, PhoneNumber = request.PhoneNumber, Valid = true }; var result = await this.userManager.CreateAsync(user, request.Password); if (result.Succeeded) { var identityResult = await this.userManager.AddToRoleAsync(user, "ROLE_USER"); SendEmailActivateAccount(user); this.logger.LogInformation(3, "User created a new account with password."); return(Ok()); } var resultString = new StringBuilder(); foreach (var item in result.Errors) { resultString.AppendLine(item.Description); } return(BadRequest(resultString.ToString())); } return(BadRequest(localizer.GetString("errors.user_registered"))); }
public async Task <Result <User> > Register(RegisterUserRquestModel userInput) { var user = new User { Email = userInput.Email, UserName = userInput.UserName, }; var identityResult = await this.userManager .CreateAsync(user, userInput.Password); var isRegisterSuccessful = identityResult.Succeeded; if (isRegisterSuccessful) { await this.publisher.Publish(new UserCreatedMessage { UserId = user.Id }); } var errors = identityResult .Errors .Select(e => e.Description); return(identityResult.Succeeded ? Result <User> .SuccessWith(user) : Result <User> .Failure(errors)); }
public async Task <ActionResult> Register(RegisterUserRquestModel userModel) { var result = await this.identityService .Register(userModel); if (!result.Succeeded) { return(BadRequest(result.Errors)); } //TODO: Replaced with new solution using RabbitMQ //var nutritionInputModel = new RegisterNutritionUserInputModel { UserId = result.Data.Id }; //var exerciseUserInputModel = new RegisterExerciseUserInputModel { UserId = result.Data.Id }; //var articleUserInputModel = new RegisterArticleUserInputModel { UserId = result.Data.Id }; //await this.nutritionRegisterService.Register(nutritionInputModel); //await this.exercisesRegisterService.Register(exerciseUserInputModel); //await this.articlesRegisterService.Register(articleUserInputModel); return(Ok(result.Data)); }