public async Task <ResponseContractDTO> GenerateDocumentKeyNUA(InvestorInfo investorInfo)
        {
            if (investorInfo == null)
            {
                throw new ArgumentNullException(nameof(investorInfo));
            }

            GeneratePDF generatePDF = new GeneratePDF();

            string newDocumentFileName = generatePDF.GenerateInvestorDocument(investorInfo);

            ResponseContractDTO response = new ResponseContractDTO();

            if (!string.IsNullOrWhiteSpace(newDocumentFileName))
            {
                ContractInvestor contractInvestor = new ContractInvestor()
                {
                    FileName = newDocumentFileName,
                    Email    = investorInfo.Email,
                    FullName = string.Concat(investorInfo.FirstName, " ", investorInfo.LastName)
                };

                response = await _keyNUALogic.CreateContract(contractInvestor);
            }

            return(response);
        }
        public async Task <ResponseContractDTO> GetDocumentKeyNUA(string idContractDocument)
        {
            if (idContractDocument == null)
            {
                throw new ArgumentNullException(nameof(idContractDocument));
            }

            ResponseContractDTO response = new ResponseContractDTO();

            response = await _keyNUALogic.GetContractCreated(idContractDocument);

            return(response);
        }
        public async Task <IActionResult> Register(InvestorInfoModel investorInfo)
        {
            if (investorInfo == null)
            {
                throw new ArgumentNullException(nameof(investorInfo));
            }

            ResponseContractDTO responseContractDTO = new ResponseContractDTO();

            using (var httpClient = new HttpClient())
            {
                string jsonNewContract = JsonConvert.SerializeObject(investorInfo);

                //Convert object properties in lowercase
                var newContractObject = JObject.Parse(jsonNewContract, new JsonLoadSettings());
                JsonHelpers.ChangePropertiesToLowerCase(newContractObject);

                try
                {
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    var builder = new UriBuilder(new Uri(urlAPI));
                    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, builder.Uri);

                    request.Content = new StringContent(newContractObject.ToString(Formatting.None), Encoding.UTF8, "application/json");//CONTENT-TYPE header

                    using (var response = await httpClient.SendAsync(request))
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        responseContractDTO = JsonConvert.DeserializeObject <ResponseContractDTO>(apiResponse);

                        ViewBag.TokenCustomer = responseContractDTO.Users[0].Token;
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return(View("SignContract"));
            //return Ok(responseContractDTO);
        }