コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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");
        }