public async Task <IActionResult> RegisterAsync([FromBody] RegisterUserEvaluatorCommand registerUser) { var result = await _mediator.Send(registerUser); if (result == null) { return(await ResponseNotificationsAsync()); } return(await ResponseOkAsync(result)); }
public async Task <Token> Handle(RegisterUserEvaluatorCommand request, CancellationToken cancellationToken) { var identityUser = new MongoIdentityUser(request.Email, request.Email); identityUser.AddClaim(new MongoUserClaim("Email", request.Email)); identityUser.AddClaim(new MongoUserClaim("Type", EUserType.Evaluator.ToString())); var result = await _userManager.CreateAsync(identityUser, request.Password); if (!result.Succeeded) { foreach (int er in result.Errors.Select(x => Convert.ToInt32(x.Code))) { _notificationContext.PushNotification((ReturnCode)er); } return(null); } await _repository.AddAsync <Person>(new Person() { IdentityUserId = identityUser.Id, Name = request.Name, IsSei = request.IsSei, Email = request.Email, IsSicite = request.IsSicite, AttendedModalities = request.Modalities, Institution = request.Institution, Type = EUserType.Evaluator, Approved = false, ArticlesCount = 0 }); await _signInManager.SignInAsync(identityUser, false); return(await GerarJwt(identityUser)); }