public async Task <IActionResult> RegisterOrganizer([FromBody] OrganizerRegistrationRequest request) { if (!ModelState.IsValid) { return(BadRequest(new AuthFailedResponse { Errors = ModelState.Values.SelectMany(i => i.Errors.Select(j => j.ErrorMessage)) })); } var authResponse = await _authService.RegisterOrganizerAsync(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> RegisterOrganizerAsync(OrganizerRegistrationRequest request) { var result = await CheckUniqueAccount(request); if (result.Errors != null) { return(result); } var account = await CreateAccountAsync(request); var organizer = _mapper.Map <Organizer>(request); organizer.AccountID = account.ID; _context.Organizers.Add(organizer); _context.SaveChanges(); return(await GenerateAuthenticationResultForAccountAsync(account)); }