public override ValidationResult Validate(string json) { try { var resultadoDoParse = JSchema.Parse(json); } catch (JsonReaderException ex) { var lineNumber = ex.LineNumber; var linePosition = ex.LinePosition; textBox2.Text = string.Format("JSON inválido na linha {0} e na coluna {1}.", lineNumber, linePosition); return; } var parseObj = JObject.Parse(json); IList <ValidationError> errors; var valid = parseObj.IsValid(notaFiscalSelecionada.schema, out errors); if (valid) { string formatted = JsonFormatting.Ident(jsonRecebido); textBox2.Text = "JSON Válido"; textBox1.Text = formatted.ToString(); } else { var strBuilder = new StringBuilder(); foreach (var error in errors) { if (error.ErrorType == ErrorType.Type) { strBuilder.AppendLine(string.Format("Erro no campo {0} esperando {1} e veio {2} na linha {3} na coluna {4}", error.Path, error.Schema.Type.Value.ToString(), error.Value != null ? error.Value.GetType().ToString() : "null", error.LineNumber, error.LinePosition)); } else if (error.ErrorType == ErrorType.Required) { var campos = string.Join(",", ((IList <string>)error.Value)); if (string.IsNullOrEmpty(error.Path)) { strBuilder.AppendLine(string.Format("Campo {0} obrigatório na raiz", campos)); } else { strBuilder.AppendLine(string.Format("Campo {0} obrigatório dentro de {1}", campos, error.Path)); } } } textBox2.Text = strBuilder.ToString(); } }
public string CartaoDeCredito(Pedido pedido) { StringBuilder parametros = new StringBuilder(); string aqui = "AQUI"; parametros.Append("{"); parametros.AppendLine(); parametros.Append("\"MerchantOrderId\":"); parametros.Append(string.Format("\"{0}\",", pedido.TokenLoja)); parametros.AppendLine(); parametros.Append("\"Customer\":{"); parametros.AppendLine(); parametros.Append("\"Name\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nome)); parametros.AppendLine(); parametros.Append("\"Identity\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CPF)); parametros.AppendLine(); parametros.Append("\"IdentityType\":\"CPF\","); parametros.AppendLine(); parametros.Append("\"Email\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("\"Birthdate\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nascimento)); parametros.AppendLine(); parametros.Append("\"Address\":{"); parametros.AppendLine(); parametros.Append("\"Street\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Rua)); parametros.AppendLine(); parametros.Append("\"Number\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Numero)); parametros.AppendLine(); parametros.Append("\"Complement\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Complemento)); parametros.AppendLine(); parametros.Append("\"ZipCode\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.CEP)); parametros.AppendLine(); parametros.Append("\"City\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Cidade)); parametros.AppendLine(); parametros.Append("\"State\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Estado)); parametros.AppendLine(); parametros.Append("\"Country\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Pais)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("\"DeliveryAddress\": {"); parametros.AppendLine(); parametros.Append("\"Street\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Rua)); parametros.AppendLine(); parametros.Append("\"Number\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Numero)); parametros.AppendLine(); parametros.Append("\"Complement\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Complemento)); parametros.AppendLine(); parametros.Append("\"ZipCode\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.CEP)); parametros.AppendLine(); parametros.Append("\"City\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Cidade)); parametros.AppendLine(); parametros.Append("\"State\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Estado)); parametros.AppendLine(); parametros.Append("\"Country\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.EnderecoCobranca.Pais)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("\"Payment\":{ "); parametros.AppendLine(); parametros.Append("\"Type\":\"CreditCard\","); parametros.AppendLine(); parametros.Append("\"Amount\":"); parametros.Append(string.Format("\"{0}\",", pedido.Valor)); parametros.AppendLine(); parametros.Append("\"Currency\":\"BRL\","); parametros.AppendLine(); parametros.Append("\"Country\":\"BRA\","); parametros.AppendLine(); parametros.Append("\"Provider\":\"Simulado\","); parametros.AppendLine(); parametros.Append("\"ServiceTaxAmount\":0,"); parametros.AppendLine(); parametros.Append("\"Installments\":1,"); parametros.AppendLine(); parametros.Append("\"Interest\":\"ByMerchant\","); parametros.AppendLine(); parametros.Append("\"Capture\":false,"); parametros.AppendLine(); parametros.Append("\"Authenticate\":false,"); parametros.AppendLine(); parametros.Append("\"Recurrent\": false,"); parametros.AppendLine(); parametros.Append("\"SoftDescriptor\":\"123456789ABCD\","); parametros.AppendLine(); parametros.Append("\"CreditCard\":{"); parametros.AppendLine(); parametros.Append("\"CardNumber\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Numero)); parametros.AppendLine(); parametros.Append("\"Holder\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Nome)); parametros.AppendLine(); parametros.Append("\"ExpirationDate\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Validade)); parametros.AppendLine(); parametros.Append("\"SecurityCode\":"); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.CodigoSeguranca)); parametros.AppendLine(); parametros.Append("\"SaveCard\":\"false\","); parametros.AppendLine(); parametros.Append("\"Brand\":"); parametros.Append(string.Format("\"{0}\"", pedido.Cliente.CartaoDeCredito.Bandeira)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("}"); string json = JsonFormatting.Ident(parametros.ToString()); var client = new RestClient("http:///%7B%7BapiUrl%7D%7D/1/sales"); var request = new RestRequest(Method.POST); request.AddHeader("postman-token", "87b55406-11be-463c-e8b6-d5cea97c8886"); request.AddHeader("cache-control", "no-cache"); request.AddHeader("merchantkey", "{{" + pedido.TokenLoja + "}}"); request.AddHeader("merchantid", "{{" + pedido.TokenLoja + "}}"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", parametros, ParameterType.RequestBody); //IRestResponse response = client.Execute(request); //return response.Content; return(CreditCardTransactionStatusEnum.AuthorizedPendingCapture.ToString()); }
public string Analisar(Pedido pedido) { string retorno = string.Empty; StringBuilder parametros = new StringBuilder(); string preencher = "preencher"; parametros.Append("{"); parametros.AppendLine(); parametros.Append("ApiKey:"); parametros.Append(string.Format("\"{0}\",", pedido.TokenLoja)); parametros.AppendLine(); parametros.Append("LoginToken: "); parametros.Append(string.Format("\"{0}\",", pedido.TokenLoja)); parametros.AppendLine(); parametros.Append("Orders: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ID: "); parametros.Append(string.Format("\"{0}\",", pedido.Id)); parametros.AppendLine(); parametros.Append("Date: "); parametros.Append(string.Format("\"{0}\",", DateTime.Now)); parametros.AppendLine(); parametros.Append("Email: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("TotalItems: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("TotalOrder: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("TotalShipping: "); parametros.Append(string.Format("\"{0}\",", pedido.Valor)); parametros.AppendLine(); parametros.Append("IP: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Currency: \"USD\","); parametros.AppendLine(); parametros.Append("Payments: "); parametros.AppendLine(); parametros.Append("["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Date: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CardNumber: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Numero)); parametros.AppendLine(); parametros.Append("CardHolderName: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Nome)); parametros.AppendLine(); parametros.Append("CardExpirationDate: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.CartaoDeCredito.Validade)); parametros.AppendLine(); parametros.Append("Amount: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("PaymentTypeID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CardType: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CardBin: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("],"); parametros.AppendLine(); parametros.Append("BillingData: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("BirthDate: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nascimento)); parametros.AppendLine(); parametros.Append("Gender: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Name: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nome)); parametros.AppendLine(); parametros.Append("Email: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("Address: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Street: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Rua)); parametros.AppendLine(); parametros.Append("City: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Cidade)); parametros.AppendLine(); parametros.Append("State: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Estado)); parametros.AppendLine(); parametros.Append("Comp: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Complemento)); parametros.AppendLine(); parametros.Append("ZipCode: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.CEP)); parametros.AppendLine(); parametros.Append("County: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Pais)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Numero)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("Phones: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CountryCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("AreaCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("]"); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("ShippingData: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Name: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nome)); parametros.AppendLine(); parametros.Append("Gender: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Email: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Email)); parametros.AppendLine(); parametros.Append("BirthDate: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Nascimento)); parametros.AppendLine(); parametros.Append("Address: "); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Street: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Rua)); parametros.AppendLine(); parametros.Append("City: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Cidade)); parametros.AppendLine(); parametros.Append("State: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Estado)); parametros.AppendLine(); parametros.Append("Comp: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Complemento)); parametros.AppendLine(); parametros.Append("ZipCode: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.CEP)); parametros.AppendLine(); parametros.Append("County: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Pais)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", pedido.Cliente.Endreco.Numero)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("Phones: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("Type: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("CountryCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("AreaCode: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Number: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("]"); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("Items: ["); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ProductId: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("ProductTitle: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Price: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Category: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Quantity: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("},"); parametros.AppendLine(); parametros.Append("{"); parametros.AppendLine(); parametros.Append("ProductId: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("ProductTitle: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Price: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Category: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Quantity: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("],"); parametros.AppendLine(); parametros.Append("SessionID: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); parametros.AppendLine(); parametros.Append("],"); parametros.AppendLine(); parametros.Append("AnalysisLocation: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("Reanalysis: "); parametros.Append(string.Format("\"{0}\",", preencher)); parametros.AppendLine(); parametros.Append("}"); string json = JsonFormatting.Ident(parametros.ToString()); var client = new RestClient("https://sandbox.clearsale.com.br/api/order/send"); var request = new RestRequest(Method.POST); request.AddHeader("Postman-Token", "3d6e3cf9-d361-45eb-b53a-5a7d39c83736"); request.AddHeader("Cache-Control", "no-cache"); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", parametros, ParameterType.RequestBody); IRestResponse response = client.Execute(request); //return response.Content; return("APA"); }