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 insertPedidoItem(PedidoItens pedidoItens, SqlConnection sqlConn, SqlTransaction transacao) { bool retorno = true; string strQuery = $@"insert into pedidosItens ( Seq, SeqPedido, Item, SeqProduto, Alternativo, Nome, Unidade, Proporcao, DattaPrevEntrega, DattaUltEntrega, Estatus, QPedida, QExpedida, QFaturada, QCancelada, PrecoUnit, Precounittab, Precounittabmin, Precounittabmax, Cst, Bonificacao, Texto, Valor, Liberacao, LiberacaoOperador, LiberacaoDatta, Cfop, Destinacao, Propriedade, Descontovalor, Descontoperc, Descontocalc, Descontocred, Ipi, Icms, Icmr, Iss, Ordem, Vendedor, Empresa, Edicao, Operador, NomeExtra, Custo, CustoVenda, CustoMedio, Qualidade, Tipo, CodigoExternoProduto, Cest ) values ( '{pedidoItens.Seq}', '{pedidoItens.SeqPedido}', {pedidoItens.Item}, '{pedidoItens.SeqProduto}', '{pedidoItens.Alternativo}', '{pedidoItens.Nome}', '{pedidoItens.Unidade}', {pedidoItens.Proporcao}, '{pedidoItens.DattaPrevEntrega}', '{pedidoItens.DattaUltEntrega}', '{pedidoItens.Estatus}', {pedidoItens.QPedida.ToString().Replace(',', '.')}, {pedidoItens.QExpedida.ToString().Replace(',', '.')}, {pedidoItens.QFaturada.ToString().Replace(',', '.')}, {pedidoItens.QCancelada.ToString().Replace(',', '.')}, {pedidoItens.PrecoUnit.ToString().Replace(',', '.')}, {pedidoItens.Precounittab.ToString().Replace(',', '.')}, {pedidoItens.Precounittabmin.ToString().Replace(',', '.')}, {pedidoItens.Precounittabmax.ToString().Replace(',', '.')}, '{pedidoItens.Cst}', '{pedidoItens.Bonificacao}', '{pedidoItens.Texto}', {pedidoItens.Valor.ToString().Replace(',', '.')}, '{pedidoItens.Liberacao}', '{pedidoItens.LiberacaoOperador}', '{pedidoItens.LiberacaoDatta}', '{pedidoItens.Cfop}', '{pedidoItens.Destinacao}', '{pedidoItens.Propriedade}', {pedidoItens.Descontovalor.ToString().Replace(',', '.')}, {pedidoItens.Descontoperc.ToString().Replace(',', '.')}, {pedidoItens.Descontocalc.ToString().Replace(',', '.')}, {pedidoItens.Descontocred.ToString().Replace(',', '.')}, {pedidoItens.Ipi}, {pedidoItens.Icms}, {pedidoItens.Icmr}, {pedidoItens.Iss}, {pedidoItens.Ordem}, '{pedidoItens.Vendedor}', '{pedidoItens.Empresa}', '{pedidoItens.Edicao}', '{pedidoItens.Operador}', '{pedidoItens.NomeExtra}', {pedidoItens.Custo}, {pedidoItens.CustoVenda}, {pedidoItens.CustoMedio}, {pedidoItens.Qualidade}, '{pedidoItens.Tipo}', '{pedidoItens.CodigoExternoProduto}', '{pedidoItens.Cest}' )"; try { SqlCommand cmd = new SqlCommand(strQuery, sqlConn, transacao); cmd.ExecuteNonQuery(); } catch (Exception ex) { string message = ex.Message; Log.Set("ERRO insertPedidoItem: " + pedidoItens.SeqProduto + " - " + message); retorno = false; } return(retorno); }