public async Task <Unit> Handle(RenewSubscriptionKeyCommand command, CancellationToken cancellationToken)
        {
            var request = new PostRenewSubscriptionKeyRequest(command.AccountIdentifier, command.ProductId);
            await _apimDeveloperApiClient.PostWithResponseCode <string>(request);

            return(Unit.Value);
        }
コード例 #2
0
        public async Task <Unit> Handle(CreateSubscriptionKeyCommand request, CancellationToken cancellationToken)
        {
            var createResponse = await _apimDeveloperApiClient.PostWithResponseCode <object>(
                new PostCreateSubscriptionKeyRequest(request.AccountIdentifier, request.ProductId));

            if (!string.IsNullOrEmpty(createResponse.ErrorContent))
            {
                throw new HttpRequestContentException($"Response status code does not indicate success: {(int)createResponse.StatusCode} ({createResponse.StatusCode})", createResponse.StatusCode, createResponse.ErrorContent);
            }

            return(new Unit());
        }
コード例 #3
0
        public async Task <AuthenticateUserCommandResult> Handle(AuthenticateUserCommand request, CancellationToken cancellationToken)
        {
            var apiResponse =
                await _apimDeveloperApiClient.PostWithResponseCode <PostAuthenticateUserResult>(
                    new PostAuthenticateUserRequest(request.Email, request.Password));

            if (!string.IsNullOrEmpty(apiResponse.ErrorContent))
            {
                throw new HttpRequestContentException($"Response status code does not indicate success: {(int)apiResponse.StatusCode} ({apiResponse.StatusCode})", apiResponse.StatusCode, apiResponse.ErrorContent);
            }

            return(new AuthenticateUserCommandResult
            {
                User = apiResponse.Body
            });
        }
コード例 #4
0
        public async Task <Unit> Handle(CreateUserCommand request, CancellationToken cancellationToken)
        {
            var actual = await _apimDeveloperApiClient.PostWithResponseCode <object>(new PostCreateUserRequest(request.Id, new UserRequestData
            {
                Email = request.Email,
                Password = request.Password,
                FirstName = request.FirstName,
                LastName = request.LastName,
                ConfirmationEmailLink = request.ConfirmationEmailLink,
                State = 0
            }));

            if (actual.StatusCode != HttpStatusCode.Created)
            {
                throw new HttpRequestContentException("Error creating user", actual.StatusCode, actual.ErrorContent);
            }

            var email   = new VerifyThirdyPartyAccountEmail(request, _config);
            var command = new SendEmailCommand(email.TemplateId, email.RecipientAddress, email.Tokens);
            await _notificationService.Send(command);

            return(Unit.Value);
        }