public async Task <RegisterUserOperationResponse> Execute(RegisterUserOperationRequest request)
        {
            var invitation = await _invitationRepository.GetWithInviterAsync(request.InviteId)
                             ?? throw new InvitationDoesNotExistException(request.InviteId);

            var response = await _createEmployeeOperation.Execute(new CreateEmployeeOperationRequest
            {
                Email        = invitation.InvitationTo,
                ManagerEmail = invitation.InvitationFrom.Email,
                FirstName    = invitation.FirstName,
                LastName     = invitation.LastName,
                Role         = invitation.Role,
                Password     = request.Password,
                ImageData    = request.ImageData
            });

            var deleteInvitationsRequest = new DeleteInvitationsForEmailOperationRequest
            {
                Email = invitation.InvitationTo
            };
            await _deleteInvitationsForEmailOperation.Execute(deleteInvitationsRequest);

            return(new RegisterUserOperationResponse());
        }
Exemplo n.º 2
0
        public async Task Execute(DeleteInvitationsForEmailOperationRequest request)
        {
            var invites = await _invitationRepository.QueryAsync(invite => invite.InvitationTo == request.Email);

            await _invitationRepository.DeleteAsync(invites);
        }