コード例 #1
0
        public async ValueTask <CreateAccountResponse> CadastrarNovaContaAsync(CreateAccountRequest request, Guid correlationId, CancellationToken ct)
        {
            CreateAccountResponse response;

            string requestUri  = $"{_urlBaseBolao}/account/signup";
            string requestJson = JsonConvert.SerializeObject(request);
            var    content     = new StringContent(requestJson, Encoding.UTF8, "application/json");

            var httpResponse = await _bolaoHttpClient.PostAsync
                               (
                requestUri,
                content,
                correlationId,
                ct
                               );

            var jsonResponse = await httpResponse.Content.ReadAsStringAsync();

            if (httpResponse.StatusCode != HttpStatusCode.OK)
            {
                var errorsResponse = JsonConvert.DeserializeObject <IList <ErrorResponse> >(jsonResponse);
                response = new CreateAccountResponse();
                response.SetErrors(errorsResponse);
            }
            else
            {
                response = JsonConvert.DeserializeObject <CreateAccountResponse>(jsonResponse);
            }

            return(response);
        }