internal async Task InviteUser()
        {
            Printer.PrintStepTitle("User Invitation");
            Console.Write("Enter an email address to invite:");
            string email = Console.ReadLine();

            if (email == "-1")
            {
                return;
            }

            Console.Write("Enter first name:");
            string firstName = Console.ReadLine();

            Console.Write("Enter last name:");
            string lastName = Console.ReadLine();

            Console.Write($"Enter role ({string.Join(",", UserRole.Roles)}):");
            string role = Console.ReadLine();

            var parameters = new UserInviteParameters
            {
                EmailAddress = email,
                FirstName    = firstName,
                LastName     = lastName,
                Role         = role
            };

            var invitation = await _apiClient.Users.Invite(parameters);

            Console.WriteLine($"{firstName} {lastName} has been invited. Following URL is sent in the invitation e-mail");
            Console.WriteLine(invitation.Url);
        }
예제 #2
0
        /// <inheritdoc />
        public async Task <UserInvitation> Invite(UserInviteParameters parameters)
        {
            var response = await ApiClient.PostAsJsonAsync("users/invitations", parameters);

            if (response.IsSuccessStatusCode)
            {
                return(await response.Content.ReadAsJsonAsync <UserInvitation>());
            }

            throw new ApiException("Users.Invite", response.StatusCode, await response.Content.ReadAsStringAsync());
        }