Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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.");
            }
        }
Exemplo n.º 3
0
        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());
            }
        }