public async Task <IActionResult> RegisterAdministrator([FromBody] AdministratorRegistrationRequest request) { if (!ModelState.IsValid) { return(BadRequest(new AuthFailedResponse { Errors = ModelState.Values.SelectMany(i => i.Errors.Select(j => j.ErrorMessage)) })); } var authResponse = await _authService.RegisterAdministratorAsync(request); if (!authResponse.Success) { return(BadRequest ( new AuthFailedResponse { Errors = authResponse.Errors } )); } return(Ok ( new AuthSuccessResponse { Token = authResponse.Token, RefreshToken = authResponse.RefreshToken } )); }
public async Task <AuthenticationResult> RegisterAdministratorAsync(AdministratorRegistrationRequest request) { var result = await CheckUniqueAccount(request); if (result.Errors != null) { return(result); } var account = await CreateAccountAsync(request); var person = await CreatePersonAsync(request, account); var admin = _mapper.Map <Administrator>(request); admin.PersonID = person.ID; _context.Administrators.Add(admin); _context.SaveChanges(); return(await GenerateAuthenticationResultForAccountAsync(account)); }
public async Task <ApiResponse <RegistrationResponse> > Handle(AdministratorRegistrationRequest request, CancellationToken cancellationToken) { return(await userRegistrationService.RegisterUserAsync(request)); }