public void savePedido(string increment_id, IntegracaoConfig integracaoConfig) { SqlConnection sqlConn = new SqlConnection(connectionStr); sqlConn.Open(); SqlTransaction transacao; transacao = sqlConn.BeginTransaction(); try { Magento magento = new Magento(); MagentoService.salesOrderEntity salesOrderEntity = magento.GetInfoPedido(increment_id); //propertyGrid1.SelectedObject = salesOrderEntity; MagentoService.salesOrderAddressEntity billingAddress = salesOrderEntity.billing_address; MagentoService.customerCustomerEntity customerEntity = magento.GetCustomerInfo(salesOrderEntity.customer_id); Cliente cliente = new Cliente(); cliente.Codigo = getNextClienteId(); //"W" + Convert.ToString(customerEntity.customer_id); cliente.Nome = customerEntity.firstname.Trim() + " " + customerEntity.lastname.Trim(); cliente.NomeReduzido = customerEntity.firstname.Trim(); cliente.Cnpj = customerEntity.taxvat; cliente.Pessoa = "F"; cliente.Estatus = "A"; cliente.Email = customerEntity.email.Trim(); string strDate = customerEntity.created_at.ToString(); // cliente.Datta = Convert.ToDateTime(DateTime.Now.ToString("yyyyMMddHHmmss")).ToString("yyyyMMddHHmmss"); cliente.DattaInclusao = DateTime.Now.ToString(); cliente.Endereco = billingAddress.street; cliente.Bairro = "?"; cliente.Cidade = billingAddress.city; cliente.Cep = billingAddress.postcode; cliente.Cidade = billingAddress.city; cliente.Pais = "Brasil"; cliente.Telefone = "?"; cliente.Celular = "?"; cliente.InscEst = "ISENTO"; cliente.Doc = " "; cliente.Tipo = integracaoConfig.Tipo; cliente.RegiaoVendas = integracaoConfig.RegiaoVendas; cliente.RegiaoFiscal = integracaoConfig.RegiaoFiscal; cliente.GrupoImpostos = integracaoConfig.GrupoImpostos; cliente.GrupoPrecos = integracaoConfig.GrupoPrecos; cliente.CategCredito = integracaoConfig.CategCredito; cliente.Vendedor = integracaoConfig.Vendedor; cliente.Portador = integracaoConfig.Portador; cliente.Holding = cliente.Codigo; cliente.Renda = 0; cliente.Compras = 0; cliente.DiasAtraso = 0; cliente.MoraAtraso = 0; cliente.Contato = " "; cliente.DattaNascimento = cliente.Datta; cliente.Xcomissao = 1; cliente.Texto = "Magento"; cliente.Arquivo = " "; cliente.Filiacao = " "; cliente.Edicao = cliente.Datta; cliente.Operador = integracaoConfig.Operador; cliente.Ficha = " "; cliente.Xcusto = 1; cliente.Bairro35 = cliente.Bairro; cliente.Cidade35 = cliente.Cidade; cliente.PontoReferencia = " "; cliente.Distrito = " "; cliente.HorarioEntrega = " "; cliente.EnderecoComplemento = " "; cliente.InscMunicipal = " "; cliente.HabilitacaoSituacao = "S"; cliente.HabilitacaoDatta = DateTime.Now; cliente.HabilitacaoCodigo = " "; cliente.EmailNFE = cliente.Email; cliente.EmailFinanceiro = " "; cliente.CContabil = cliente.Codigo; bool error = false; if (InsertCliente(cliente, sqlConn, transacao)) { Pedido pedido = new Pedido(); pedido.Seq = getNextPedidoId(); pedido.Fato = "SC"; pedido.Filial = integracaoConfig.Filial; pedido.Codigo = salesOrderEntity.increment_id; pedido.Tipo = "N"; pedido.Datta = Convert.ToDateTime(salesOrderEntity.created_at.ToString()); pedido.Dattapreventrega = DateTime.Now; pedido.Estatus = "A"; pedido.Percentrega = 0; pedido.Valor = Convert.ToDecimal(salesOrderEntity.grand_total.Replace('.', ',')); pedido.Liberacao = integracaoConfig.Liberacao; pedido.DescontoValor = Convert.ToDecimal(salesOrderEntity.discount_amount.Replace('.', ',')); pedido.Razao = 1; pedido.RazaoPositiva = 1; pedido.RazaoNegativa = 1; pedido.NumeroExterno = salesOrderEntity.order_id; pedido.Edicao = DateTime.Now.ToString("yyyyMMddHHmmss"); pedido.Operador = "1313"; pedido.Origem = integracaoConfig.Origem; pedido.Ccusto = integracaoConfig.Ccusto; pedido.Formanegociacao = integracaoConfig.FormaNegociacao; pedido.Cpg = integracaoConfig.CPG; pedido.Transportadora = integracaoConfig.Transportadora; pedido.Cfop = integracaoConfig.Cfop; pedido.Cfopdescricao = "Venda"; pedido.Destinacao = "C"; pedido.Natureza = integracaoConfig.Natureza; pedido.DescontoPerc = 0; pedido.DescontoCalc = 0; pedido.Deducoes = 0; pedido.DespesaDentro = 0; pedido.DespesaFora = 0; pedido.Ipi = 0; pedido.Icms = 0; pedido.Icmr = 0; pedido.Iss = 0; pedido.Padrao = "X"; pedido.Tic = integracaoConfig.Tic; pedido.HorarioEntrega = DateTime.Now.ToString("yyyyMMddHHmm"); pedido.SubstitutoTributario = ""; pedido.Posicao = "1"; if (insertPedido(pedido, sqlConn, transacao)) { PedidoCliente pedidoCliente = new PedidoCliente(); pedidoCliente.SeqPedido = pedido.Seq; pedidoCliente.Cliente = cliente.Codigo; pedidoCliente.Empresa = "001"; pedidoCliente.Edicao = DateTime.Now.ToString("yyyyMMddHHmmss"); pedidoCliente.Operador = "1313"; pedidoCliente.ClienteGenerico = "N"; pedidoCliente.Nome = cliente.Nome; pedidoCliente.Endereco = cliente.Endereco; pedidoCliente.Bairro = cliente.Bairro; pedidoCliente.Cidade = cliente.Cidade; pedidoCliente.Cep = cliente.Cep; pedidoCliente.Estado = cliente.Estado; pedidoCliente.Telefone = cliente.Telefone; pedidoCliente.Vendedor = integracaoConfig.Vendedor; pedidoCliente.Equipe = integracaoConfig.Equipe; if (insertPedidoCliente(pedidoCliente, sqlConn, transacao)) { PedidosParc pedidosParc = new PedidosParc(); pedidosParc.SeqPedido = pedido.Seq; pedidosParc.Parcela = "001"; pedidosParc.Valor = pedido.Valor; pedidosParc.Dattavenc = DateTime.Now.AddDays(30); pedidosParc.Natureza = integracaoConfig.Natureza; pedidosParc.Portador = integracaoConfig.Portador; pedidosParc.Especie = integracaoConfig.Especie; pedidosParc.Descincond = 0; pedidosParc.Flagpaga = "N"; pedidosParc.Xcomissao = 0; pedidosParc.TaxaPermanencia = 0; pedidosParc.DiasPermanencia = 0; pedidosParc.TaxaAdminist = 0; pedidosParc.VrVariacao = 0; pedidosParc.Empresa = "001"; pedidosParc.Edicao = "Edicao"; pedidosParc.Operador = integracaoConfig.Operador; pedidosParc.FormaReajuste = " "; pedidosParc.Indice = "0"; pedidosParc.VrIndexado = 0; pedidosParc.VrIndexado = 0; pedidosParc.VrDespesas = 0; pedidosParc.PercMulta = 0; if (insertPedidoParc(pedidosParc, sqlConn, transacao)) { int i = 1; foreach (MagentoService.salesOrderItemEntity item in salesOrderEntity.items) { DataTable dtProduto = getProduto(item.sku); if (dtProduto.Rows.Count > 0) { PedidoItens pedidoItens = new PedidoItens(); pedidoItens.Seq = getNextPedidoItemId(); pedidoItens.SeqPedido = pedido.Seq; pedidoItens.Item = i; pedidoItens.SeqProduto = Convert.ToString(dtProduto.Rows[0]["SEQ"]); pedidoItens.Alternativo = item.sku; pedidoItens.Nome = item.name.Length > 40 ? item.name.Substring(0, 39) : item.name; pedidoItens.Unidade = "UN"; pedidoItens.Proporcao = 1; pedidoItens.DattaPrevEntrega = DateTime.Now; pedidoItens.DattaUltEntrega = DateTime.Now; pedidoItens.Estatus = "A"; pedidoItens.QPedida = Convert.ToDecimal(item.qty_ordered.Replace('.', ',')); pedidoItens.QExpedida = 0; pedidoItens.QFaturada = 0; pedidoItens.QCancelada = Convert.ToDecimal(item.qty_canceled.Replace('.', ',')); pedidoItens.MotivoCancelamento = ""; pedidoItens.PrecoUnit = Convert.ToDecimal(item.price.Replace('.', ',')); pedidoItens.Precounittab = Convert.ToDecimal(item.price.Replace('.', ','));; pedidoItens.Precounittabmin = Convert.ToDecimal(item.price.Replace('.', ','));; pedidoItens.Precounittabmax = Convert.ToDecimal(item.price.Replace('.', ','));; pedidoItens.Cst = "010"; pedidoItens.Bonificacao = "N"; pedidoItens.Texto = ""; pedidoItens.Valor = Convert.ToDecimal(item.row_total.Replace('.', ',')); pedidoItens.Peso = Convert.ToDecimal(item.row_weight.Replace('.', ',')); pedidoItens.Liberacao = "N"; pedidoItens.LiberacaoOperador = ""; pedidoItens.LiberacaoDatta = DateTime.Now; pedidoItens.Destinacao = "R"; pedidoItens.Propriedade = "P"; pedidoItens.Descontovalor = Convert.ToDecimal(item.discount_amount.Replace('.', ',')); pedidoItens.Descontoperc = Convert.ToDecimal(item.discount_percent.Replace('.', ',')); pedidoItens.Descontocalc = 0; pedidoItens.Descontocred = 0; pedidoItens.Ipi = 0; pedidoItens.Icms = 0; pedidoItens.Iss = 0; pedidoItens.Ordem = i; pedidoItens.Empresa = "001"; pedidoItens.Edicao = DateTime.Now.ToString("yyyyMMddHHmmss"); pedidoItens.Operador = "1313"; //pedidoItens.Rrimposto = ""; pedidoItens.Qualidade = 0; pedidoItens.Tipo = "Normal"; pedidoItens.CodigoExternoProduto = item.sku; pedidoItens.Cest = integracaoConfig.Cest; pedidoItens.Cfop = integracaoConfig.CfopDentroEstado; pedidoItens.Vendedor = integracaoConfig.Vendedor; if (!insertPedidoItem(pedidoItens, sqlConn, transacao)) { transacao.Rollback(); error = true; break; } i++; } else { string mensagem = "Produto nao encontrado - " + item.sku; Log.Set("ERRO GravarPedidos: " + pedido.Seq + " - " + mensagem); transacao.Rollback(); error = true; } } } else { transacao.Rollback(); error = true; } } else { transacao.Rollback(); error = true; } } else { transacao.Rollback(); error = true; } } else { transacao.Rollback(); error = true; } if (!error) { Log.Set("Sucesso Salvar Pedido: " + increment_id); transacao.Commit(); MessageBox.Show("Pedido Importado com sucesso"); } else { MessageBox.Show("Não foi possivel importar o pedido"); } sqlConn.Close(); } catch (Exception ex) { transacao.Rollback(); string message = ex.Message; Log.Set("ERRO savePedido: " + message + " - " + message); } }
public bool insertPedidoParc(PedidosParc pedidoParc, SqlConnection sqlConn, SqlTransaction transacao) { bool retorno = true; string strQuery = $@"insert into PedidosParc ( SeqPedido, Parcela, Valor, DattaVenc, Natureza, Portador, Especie, DescIncond, FlagPaga, Xcomissao, TaxaPermanencia, DiasPermanencia, TaxaAdminist, VrVariacao, Empresa, Edicao, Operador, FormaReajuste, Indice, VrIndexado, VrDespesas, PercMulta ) values ( '{pedidoParc.SeqPedido}', '{pedidoParc.Parcela}', {pedidoParc.Valor.ToString().Replace(',', '.')}, '{pedidoParc.Dattavenc}', '{pedidoParc.Natureza}', '{pedidoParc.Portador}', '{pedidoParc.Especie}', {pedidoParc.Descincond}, '{pedidoParc.Flagpaga}', {pedidoParc.Xcomissao}, {pedidoParc.TaxaPermanencia}, {pedidoParc.DiasPermanencia}, {pedidoParc.TaxaAdminist}, {pedidoParc.VrVariacao}, '{pedidoParc.Empresa}', '{pedidoParc.Edicao}', '{pedidoParc.Operador}', '{pedidoParc.FormaReajuste}', '{pedidoParc.Indice}', {pedidoParc.VrIndexado}, {pedidoParc.VrDespesas}, {pedidoParc.PercMulta} )"; try { SqlCommand cmd = new SqlCommand(strQuery, sqlConn, transacao); cmd.ExecuteNonQuery(); } catch (Exception ex) { string message = ex.Message; Log.Set("ERRO insertPedidoParc: " + pedidoParc.SeqPedido + " - " + message); retorno = false; } return(retorno); }