public Task RegisterInvitedUser(RegisterInvitationModel registerInvitationModel) { if (registerInvitationModel == null) { throw new ArgumentNullException(nameof(registerInvitationModel)); } if (string.IsNullOrEmpty(registerInvitationModel.FirstName)) { throw new ArgumentNullException(nameof(registerInvitationModel.FirstName)); } if (string.IsNullOrEmpty(registerInvitationModel.Username)) { throw new ArgumentNullException(nameof(registerInvitationModel.Username)); } if (string.IsNullOrEmpty(registerInvitationModel.Password)) { throw new ArgumentNullException(nameof(registerInvitationModel.Password)); } if (string.IsNullOrEmpty(registerInvitationModel.InvitationId)) { throw new ArgumentNullException(nameof(registerInvitationModel.InvitationId)); } return(RegisterInvitedUserAsync(registerInvitationModel)); }
private async Task RegisterInvitedUserAsync(RegisterInvitationModel registerInvitationModel) { var invitation = await _invitationService.GetInvitation(registerInvitationModel.InvitationId); if (!invitation.Used) { var newUser = await CreateNewUser(registerInvitationModel); await CreateNewMember(newUser); await _invitationService.AcceptInvitation(newUser.Id, registerInvitationModel.InvitationId); } else { throw new InvalidOperationException($"Unable to register user. Invitation with id {registerInvitationModel.InvitationId} was already used."); } }
public async Task <IActionResult> RegisterInvitedUser([FromBody] RegisterInvitationModel registerInvitationModel) { if (registerInvitationModel == null) { return(BadRequest()); } try { await _userService.RegisterInvitedUser(registerInvitationModel); return(Ok()); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest()); } }