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); }
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()); }
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 }); }
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); }