public static string Excluir(TRegistro_CadClifor val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadClifor qtb_clifor = new TCD_CadClifor(); try { if (banco == null) { st_transacao = qtb_clifor.CriarBanco_Dados(true); } else { qtb_clifor.Banco_Dados = banco; } try { qtb_clifor.Excluir(val); } catch { val.St_registro = "C"; Gravar(val, qtb_clifor.Banco_Dados); } if (st_transacao) { qtb_clifor.Banco_Dados.Commit_Tran(); } return(val.Cd_clifor); } catch (Exception ex) { if (st_transacao) { qtb_clifor.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir clifor: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_clifor.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_Clifor val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadClifor qtb_clifor = new TCD_CadClifor(); try { if (banco == null) { st_transacao = qtb_clifor.CriarBanco_Dados(true); } else { qtb_clifor.Banco_Dados = banco; } TRegistro_CadClifor rClifor = new TRegistro_CadClifor(); rClifor.Cd_clifor = val.Cd_clifor; TCN_CadClifor.Excluir(rClifor, qtb_clifor.Banco_Dados); if (st_transacao) { qtb_clifor.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_clifor.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar clifor: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_clifor.deletarBanco_Dados(); } } }
public TList_RegLanDuplicata Gera_Financeiro(string CFG_Pedido_Comissao, string CD_CondPGTO, string CD_Moeda, TRegistro_CadEmpresa Reg_Empresa, TRegistro_CadClifor Reg_Clifor_Vendedor, TRegistro_CadEndereco Reg_Endereco) { TList_RegLanDuplicata Duplicata = new TList_RegLanDuplicata(); if (CFG_Pedido_Comissao != "") { TCD_CadCFGPedidoFiscal Pedido_Fiscal = new TCD_CadCFGPedidoFiscal(); TpBusca[] vBusca = new TpBusca[0]; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.cfg_pedido"; vBusca[vBusca.Length - 1].vVL_Busca = "'" + CFG_Pedido_Comissao + "'"; vBusca[vBusca.Length - 1].vOperador = "="; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.TP_FISCAL"; vBusca[vBusca.Length - 1].vVL_Busca = "'N'"; vBusca[vBusca.Length - 1].vOperador = "="; DataTable DT_Pedido_Fiscal = Pedido_Fiscal.Buscar(vBusca, 0); if (DT_Pedido_Fiscal.Rows.Count > 0) { if (DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim() != string.Empty) { TpBusca[] vBusca_Mov = new TpBusca[0]; Array.Resize(ref vBusca_Mov, vBusca_Mov.Length + 1); vBusca_Mov[vBusca_Mov.Length - 1].vNM_Campo = "a.cd_movimentacao"; vBusca_Mov[vBusca_Mov.Length - 1].vVL_Busca = "'" + DT_Pedido_Fiscal.Rows[0]["cd_movto"].ToString().Trim() + "'"; vBusca_Mov[vBusca_Mov.Length - 1].vOperador = "="; TList_CadMovimentacao List_Movimentacao = new TCD_CadMovimentacao().Select(vBusca_Mov, 0, ""); TList_CadCondPgto List_CondPagamento = TCN_CadCondPgto.Buscar(CD_CondPGTO, "", "", "", "", "", 0, 0, "", "", 1, "", null); if (List_CondPagamento.Count > 0) { List_CondPagamento[0].lCondPgto_X_Parcelas = TCN_CadCondPgto_X_Parcelas.Buscar(List_CondPagamento[0].Cd_condpgto); } TRegistro_LanDuplicata Reg_Duplicata = new TRegistro_LanDuplicata(); TList_CadTpDuplicata List_TPDuplicata = TCN_CadTpDuplicata.Buscar(DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim(), "", ""); if ((DT_Pedido_Fiscal.Rows[0]["ST_Devolucao"].ToString().Trim().ToUpper() != "S") && (!List_CondPagamento[0].St_solicitardtvenctobool) && (List_CondPagamento[0].lCondPgto_X_Parcelas.Count > 0) && (List_Movimentacao[0].cd_historico.Trim() != string.Empty) && (!List_TPDuplicata[0].St_gerarboletoautobool)) { Reg_Duplicata.Cd_empresa = Reg_Empresa.Cd_empresa.Trim(); Reg_Duplicata.Nm_empresa = Reg_Empresa.Nm_empresa.Trim(); Reg_Duplicata.Cd_clifor = Reg_Clifor_Vendedor.Cd_clifor.Trim(); Reg_Duplicata.Nm_clifor = Reg_Clifor_Vendedor.Nm_clifor.Trim(); Reg_Duplicata.Cd_endereco = Reg_Endereco.Cd_endereco.Trim(); Reg_Duplicata.Ds_endereco = Reg_Endereco.Ds_endereco.Trim(); Reg_Duplicata.Cd_historico = List_Movimentacao[0].cd_historico.Trim(); Reg_Duplicata.Ds_historico = List_Movimentacao[0].ds_historico.Trim(); Reg_Duplicata.Tp_duplicata = DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim(); Reg_Duplicata.Ds_tpduplicata = DT_Pedido_Fiscal.Rows[0]["ds_tpduplicata"].ToString().Trim(); Reg_Duplicata.Tp_mov = DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "E" ? "P" : DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "S" ? "R" : ""; Reg_Duplicata.Tp_docto = DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString().Trim() != string.Empty ? Convert.ToDecimal(DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString()) : 0; Reg_Duplicata.Ds_tpdocto = DT_Pedido_Fiscal.Rows[0]["ds_tpdocto"].ToString().Trim(); Reg_Duplicata.Cd_condpgto = List_CondPagamento[0].Cd_condpgto.Trim(); Reg_Duplicata.Ds_condpgto = List_CondPagamento[0].Ds_condpgto.Trim(); Reg_Duplicata.St_comentrada = List_CondPagamento[0].St_comentrada.Trim(); Reg_Duplicata.Cd_juro = List_CondPagamento[0].Cd_juro.Trim(); Reg_Duplicata.Ds_juro = List_CondPagamento[0].Ds_juro.Trim(); Reg_Duplicata.Tp_juro = List_CondPagamento[0].Tp_juro.Trim(); Reg_Duplicata.Cd_moeda = CD_Moeda.Trim(); //Reg_Duplicata.Ds_moeda = List_Dados_Pedido[0].Ds_moeda.Trim(); //Reg_Duplicata.Sigla_moeda = List_Dados_Pedido[0].Sigla.Trim(); Reg_Duplicata.Qt_dias_desdobro = List_CondPagamento[0].Qt_diasdesdobro; Reg_Duplicata.Qt_parcelas = List_CondPagamento[0].Qt_parcelas; Reg_Duplicata.Pc_jurodiario_atrazo = List_CondPagamento[0].Pc_jurodiario_atrazo; Reg_Duplicata.Cd_portador = List_CondPagamento[0].Cd_portador.Trim(); Reg_Duplicata.Ds_portador = List_CondPagamento[0].Ds_portador.Trim(); Reg_Duplicata.Nr_docto = ""; Reg_Duplicata.Dt_emissao = DateTime.Now; Reg_Duplicata.Vl_documento = Convert.ToDecimal(VL_Com_Liberada.Text); Reg_Duplicata.Vl_documento_padrao = Convert.ToDecimal(VL_Com_Liberada.Text); decimal vl_saldoadto = TCN_LanAdiantamento.SaldoAdiantamentoDevolver(Reg_Empresa.Cd_empresa.Trim(), Reg_Clifor_Vendedor.Cd_clifor.Trim(), "S", null); if (Reg_Duplicata.Vl_documento_padrao > 0) { if (Reg_Duplicata.Vl_documento_padrao > vl_saldoadto) { Reg_Duplicata.cVl_adiantamento = vl_saldoadto; } else { Reg_Duplicata.cVl_adiantamento = Reg_Duplicata.Vl_documento_padrao; } } else { Reg_Duplicata.cVl_adiantamento = 0; } Reg_Duplicata.Parcelas = TCN_LanDuplicata.calcularParcelas(Reg_Duplicata); } else { TFLanDuplicata fDuplicata = new TFLanDuplicata(); fDuplicata.vNr_pedido = null; fDuplicata.vSt_notafiscal = true; fDuplicata.vCd_empresa = Reg_Empresa.Cd_empresa.Trim(); fDuplicata.vNm_empresa = Reg_Empresa.Nm_empresa.Trim(); fDuplicata.vCd_clifor = Reg_Clifor_Vendedor.Cd_clifor.Trim(); fDuplicata.vNm_clifor = Reg_Clifor_Vendedor.Nm_clifor.Trim(); fDuplicata.vCd_endereco = Reg_Endereco.Cd_endereco.Trim(); fDuplicata.vDs_endereco = Reg_Endereco.Ds_endereco.Trim(); if (List_Movimentacao.Count > 0) { fDuplicata.vCd_historico = List_Movimentacao[0].cd_historico; fDuplicata.vDs_historico = List_Movimentacao[0].ds_historico; } fDuplicata.vTp_duplicata = DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim(); fDuplicata.vDs_tpduplicata = DT_Pedido_Fiscal.Rows[0]["ds_tpduplicata"].ToString().Trim(); fDuplicata.vTp_mov = DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "E" ? "P" : DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "S" ? "R" : ""; fDuplicata.vTp_docto = DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString().Trim(); fDuplicata.vDs_tpdocto = DT_Pedido_Fiscal.Rows[0]["ds_tpdocto"].ToString().Trim(); if (List_TPDuplicata[0].St_gerarboletoauto.Trim().ToUpper().Equals("S")) { TList_CadContaGer List_Conta = TCN_CadContaGer.Buscar(List_TPDuplicata[0].Cd_contager_boletoauto, "", null, "", "", "", "", 0, "", "", "", "", 0, null); fDuplicata.vSt_gerarboletoauto = List_TPDuplicata[0].St_gerarboletoauto; fDuplicata.vCd_contager = List_TPDuplicata[0].Cd_contager_boletoauto; fDuplicata.vDs_contager = List_TPDuplicata[0].Ds_contager_boletoauto; } if (List_CondPagamento.Count > 0) { fDuplicata.vCd_condpgto = List_CondPagamento[0].Cd_condpgto.Trim(); fDuplicata.vDs_condpgto = List_CondPagamento[0].Ds_condpgto.Trim(); fDuplicata.vSt_comentrada = List_CondPagamento[0].St_comentrada.Trim(); fDuplicata.vCd_juro = List_CondPagamento[0].Cd_juro.Trim(); fDuplicata.vDs_juro = List_CondPagamento[0].Ds_juro.Trim(); fDuplicata.vTp_juro = List_CondPagamento[0].Tp_juro.Trim(); fDuplicata.vCd_moeda = CD_Moeda; // fDuplicata.vDs_moeda = List_Dados_Pedido[0].Ds_moeda; // fDuplicata.vSigla_moeda = List_Dados_Pedido[0].Sigla; fDuplicata.vQt_dias_desdobro = List_CondPagamento[0].Qt_diasdesdobro; fDuplicata.vQt_parcelas = List_CondPagamento[0].Qt_parcelas; fDuplicata.vPc_jurodiario_atrazo = List_CondPagamento[0].Pc_jurodiario_atrazo; fDuplicata.vCd_portador = List_CondPagamento[0].Cd_portador.Trim(); fDuplicata.vDs_portador = List_CondPagamento[0].Ds_portador.Trim(); fDuplicata.vSt_solicitardtvencto = List_CondPagamento[0].St_solicitardtvenctobool; } fDuplicata.vNr_docto = "0"; fDuplicata.vDt_emissao = DateTime.Now.ToString(); fDuplicata.vVl_documento = Convert.ToDecimal(VL_Com_Liberada.Text); if (fDuplicata.ShowDialog() == DialogResult.OK) { Reg_Duplicata = (fDuplicata.dsDuplicata[0] as TRegistro_LanDuplicata); } else { MessageBox.Show("Obrigatório informar financeiro para gravar aplicação.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } } Duplicata.Add(Reg_Duplicata); return(Duplicata); } return(Duplicata); } } return(Duplicata); }
private void Gera_Faturamento() { try { if ((BS_Comissao != null) && (BS_Comissao.Count > 0)) { if ((BS_Fechamento_Comissao != null) && (BS_Fechamento_Comissao.Count > 0) && (g_Fechamento_Comissao.Rows.Count > 0)) { try { if (VL_Com_Liberada.Text.Trim() == "") { VL_Com_Liberada.Text = "0"; } if (Convert.ToDecimal(VL_Com_Liberada.Text) == 0) { throw new Exception("Não existe Valores Liberados para se Faturar!"); } } catch { throw new Exception("Problemas com o Valores Liberados para Faturar!"); } if (Existe_Empresas_Diferentes() == true) { throw new Exception("Você deve Faturar somente Comissões de E!"); } // Cria a Lista com os selecionados TList_Lan_Comissao List_Comissao = new TList_Lan_Comissao(); for (int i = 0; i < g_Fechamento_Comissao.SelectedRows.Count; i++) { TRegistro_Lan_Comissao Reg_Lan_Comissao = BS_Fechamento_Comissao[g_Fechamento_Comissao.SelectedRows[i].Index] as TRegistro_Lan_Comissao; List_Comissao.Add(Reg_Lan_Comissao); } TList_CadVendedor List_Vendedor = TCN_CadVendedor.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString(), "", "", "", "", "", "", "", "", "", ""); TRegistro_CadVendedor Reg_Vendedor = List_Vendedor[0]; if (List_Vendedor.Count == 0) { throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "não encontrado."); } if (List_Vendedor[0].CD_condpgto_comissao == "") { throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "\r\n sem condição de Pagamento configurada. Verifique cadastro de Vendedor."); } string Moeda_Padrao = TCN_CadParamGer.BuscaVlString("CD_MOEDA_PADRAO"); if (Moeda_Padrao == "") { throw new Exception("Moeda Padrão não encontrado. Verificar configurações Gerais"); } string Produto_Comissao = TCN_CadParamGer.BuscaVlString("CD_PRODUTO_COMISSAO"); if (Produto_Comissao == "") { throw new Exception("Produto Comissão não encontrado. Verificar configurações Gerais"); } TRegistro_CadProduto Reg_Produto = TCN_CadProduto.Busca_Produto_Codigo(Produto_Comissao); if ((Reg_Produto == null) || (Reg_Produto.CD_Unidade == "")) { throw new Exception("Unidade da Comissão não encontrado. Verificar configurações Gerais"); } string CFG_Pedido_Comissao = TCN_CadParamGer.BuscaVlString("CFG_Pedido_Comissao"); if (CFG_Pedido_Comissao == "") { throw new Exception("Configuração de Pedido de Comissão não encontrado. Verificar configurações Gerais"); } TRegistro_CadClifor Reg_Clifor_Vendedor = new TRegistro_CadClifor(); Reg_Clifor_Vendedor = TCN_CadClifor.Busca_Clifor_Codigo(List_Vendedor[0].Cd_clifor); TList_CadEmpresa List_Empresa = new TList_CadEmpresa(); TRegistro_CadEmpresa Reg_Empresa = new TRegistro_CadEmpresa(); List_Empresa = TCN_CadEmpresa.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Empresa, "", "", null); Reg_Empresa = List_Empresa[0]; TList_CadEndereco List_Endereco = new TList_CadEndereco(); TRegistro_CadEndereco Reg_Endereco = new TRegistro_CadEndereco(); List_Endereco = TCN_CadEndereco.Buscar(List_Vendedor[0].Cd_clifor, List_Vendedor[0].Cd_endereco, "", "", "", "", "", "", "", "", "", "", "", "", "", 0, null); Reg_Endereco = List_Endereco[0]; TList_RegLanDuplicata Duplicata = new TList_RegLanDuplicata(); Duplicata = Gera_Financeiro(CFG_Pedido_Comissao, List_Vendedor[0].CD_condpgto_comissao, Moeda_Padrao, Reg_Empresa, Reg_Clifor_Vendedor, Reg_Endereco); if (Duplicata == null) { throw new Exception("Por favor! \r\n - Verifique os dados das Duplicatas"); } decimal Total_Faturar = Convert.ToDecimal(VL_Com_Liberada.Text); bool Pode_Gravar = false; bool ST_SequenciaNF = false; decimal NR_Nota = 0; TCD_CadCFGPedidoFiscal Pedido_Fiscal = new TCD_CadCFGPedidoFiscal(); TpBusca[] vBusca = new TpBusca[0]; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.cfg_pedido"; vBusca[vBusca.Length - 1].vVL_Busca = "'" + CFG_Pedido_Comissao + "'"; vBusca[vBusca.Length - 1].vOperador = "="; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.TP_FISCAL"; vBusca[vBusca.Length - 1].vVL_Busca = "'N'"; vBusca[vBusca.Length - 1].vOperador = "="; DataTable DT_Pedido_Fiscal = Pedido_Fiscal.Buscar(vBusca, 0); if (DT_Pedido_Fiscal.Rows.Count > 0) { if (DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim() != string.Empty) { TList_CadSerieNF List_SerieNF = TCN_CadSerieNF.Busca(DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim(), string.Empty, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, null); if (List_SerieNF.Count > 0) { if (List_SerieNF[0].ST_SequenciaAutoBool == false) { TFNumero_Nota Numero_Nota = new TFNumero_Nota(); Numero_Nota.pCd_empresa = Reg_Empresa.Cd_empresa; Numero_Nota.pNm_empresa = Reg_Empresa.Nm_empresa; Numero_Nota.pCd_clifor = Reg_Clifor_Vendedor.Cd_clifor; Numero_Nota.pNm_clifor = Reg_Clifor_Vendedor.Nm_clifor; Numero_Nota.pNr_serie = DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim(); Numero_Nota.pDs_serie = DT_Pedido_Fiscal.Rows[0]["ds_serie"].ToString().Trim(); Numero_Nota.pTp_nota = "P"; if (Numero_Nota.ShowDialog() == DialogResult.OK) { NR_Nota = Numero_Nota.pNr_notafiscal; Pode_Gravar = true; } else { Pode_Gravar = false; } } else { ST_SequenciaNF = true; Pode_Gravar = true; } } else { throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta. Vefrificar numero de série!"); } } } else { throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta"); } if (Pode_Gravar == true) { TCN_Lan_Fechamento_Comissao.Gera_Faturamento(List_Comissao, NR_Nota, ST_SequenciaNF, Duplicata, Reg_Vendedor, Moeda_Padrao, Produto_Comissao, Reg_Produto, CFG_Pedido_Comissao, Reg_Clifor_Vendedor, Reg_Empresa, Reg_Endereco, Total_Faturar, null); MessageBox.Show("Comissão Faturada com Sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); afterNovo(); } else { throw new Exception("De Alguma forma o processo foi cancelado!"); } } } } catch (Exception e) { MessageBox.Show("Erro: \r\n\r\n" + e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { } }
public static string Gravar(TRegistro_CadClifor val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadClifor qtb_clifor = new TCD_CadClifor(); try { if (banco == null) { st_transacao = qtb_clifor.CriarBanco_Dados(true); } else { qtb_clifor.Banco_Dados = banco; } //testa se cliente e novo para bloquear credito a prazo if (string.IsNullOrEmpty(val.Cd_clifor) && CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("ST_BLOQ_CLIENTE", "", qtb_clifor.Banco_Dados).Trim().Equals("S")) { val.St_bloqcreditoavulso = "S"; } else if (qtb_clifor.BuscarEscalar(new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + val.Cd_clifor.Trim() + "'" } }, "1") == null && CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("ST_BLOQ_CLIENTE", "", qtb_clifor.Banco_Dados).Trim().Equals("S")) { val.St_bloqcreditoavulso = "S"; } //Gravar Clifor val.Cd_clifor = CamadaDados.TDataQuery.getPubVariavel(qtb_clifor.Gravar(val), "@P_CD_CLIFOR"); //Excluir Enderecos val.lEndDel.ForEach(p => TCN_CadEndereco.Excluir(p, qtb_clifor.Banco_Dados)); //Gravar Enderecos val.lEndereco.ForEach(p => { p.Cd_clifor = val.Cd_clifor; TCN_CadEndereco.Gravar(p, qtb_clifor.Banco_Dados); }); //Excluir Dados bancarios val.lDadosBancDel.ForEach(p => TCN_CadDados_Bancarios_Clifor.Excluir(p, qtb_clifor.Banco_Dados)); //Gravar Dados Bancarios val.lDadosBanc.ForEach(p => { p.CD_Clifor = val.Cd_clifor; TCN_CadDados_Bancarios_Clifor.Gravar(p, qtb_clifor.Banco_Dados); }); //Excluir Contatos val.lContatoDel.ForEach(p => TCN_CadContatoCliFor.Excluir(p, qtb_clifor.Banco_Dados)); //Gravar Contatos val.lContato.ForEach(p => { p.Cd_CliFor = val.Cd_clifor; TCN_CadContatoCliFor.Gravar(p, qtb_clifor.Banco_Dados); }); //Excluir Referencias val.lReferenciaDel.ForEach(p => TCN_CadReferenciaClifor.Excluir(p, qtb_clifor.Banco_Dados)); //Gravar Referencias val.lReferencia.ForEach(p => { p.Cd_CliFor = val.Cd_clifor; TCN_CadReferenciaClifor.Gravar(p, qtb_clifor.Banco_Dados); }); //Exluir Data Clifor val.lDataCliforDel.ForEach(p => TCN_DataClifor.Excluir(p, qtb_clifor.Banco_Dados)); //Gravar Data Clifor val.lDataClifor.ForEach(p => { p.Cd_clifor = val.Cd_clifor; TCN_DataClifor.Gravar(p, qtb_clifor.Banco_Dados); }); //Gravar Pessoas Autorizadas val.lPessoas.ForEach(p => { p.Cd_clifor = val.Cd_clifor; TCN_PessoasAutorizadas.Gravar(p, qtb_clifor.Banco_Dados); }); //Excluir Anexos val.lAnexoDel.ForEach(p => TCN_AnexoClifor.Excluir(p, qtb_clifor.Banco_Dados)); //Gravar Anexos val.lAnexo.ForEach(p => { p.Cd_clifor = val.Cd_clifor; TCN_AnexoClifor.Gravar(p, qtb_clifor.Banco_Dados); }); //Excluir Tab Preco val.lTabPrecoDel.ForEach(p => TCN_Clifor_X_TabPreco.Excluir(p, qtb_clifor.Banco_Dados)); //Gravar Tab Preco val.lTabPreco.ForEach(p => { p.Cd_clifor = val.Cd_clifor; TCN_Clifor_X_TabPreco.Gravar(p, qtb_clifor.Banco_Dados); }); if (st_transacao) { qtb_clifor.Banco_Dados.Commit_Tran(); } return(val.Cd_clifor); } catch (Exception ex) { if (st_transacao) { qtb_clifor.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar clifor: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_clifor.deletarBanco_Dados(); } } }
private void bbImportar_Click(object sender, EventArgs e) { //071.548.686-19 if (bsPedLoja.Current != null) { if ((bsPedLoja.Current as TRegistro_Pedido).Nr_pedido.ToString().Trim() != "0") { MessageBox.Show("Não é permitido IMPORTAR pedido novamente.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if ((bsPedLoja.Current as TRegistro_Pedido).StatusMagento.Trim().ToUpper().Equals("CANCELADO")) { MessageBox.Show("Não é permitido IMPORTAR pedido CANCELADO.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (rCfg == null) { MessageBox.Show("Não existe configuração E-commerce para loja selecionada.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } MagentoService api = new MagentoService(); string sessao = string.Empty; try { sessao = api.login((cbLoja.SelectedItem as TRegistro_LojaVirtual).UserName, (cbLoja.SelectedItem as TRegistro_LojaVirtual).ApiKey); salesOrderEntity ePed = api.salesOrderInfo(sessao, (bsPedLoja.Current as TRegistro_Pedido).Nr_PedidoOrigem); if (ePed != null) { TRegistro_Pedido rPedido = new TRegistro_Pedido(); //Buscar Cliente customerCustomerEntity eCliente = api.customerCustomerInfo(sessao, int.Parse(ePed.customer_id), null); //Verificar se cliente existe no Aliance TList_CadClifor lCliente = new TCD_CadClifor().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = string.Empty, vVL_Busca = "dbo.FVALIDA_NUMEROS(a.nr_cgc) = '" + eCliente.taxvat.Trim() + "' " + "or dbo.FVALIDA_NUMEROS(a.nr_cpf) = '" + eCliente.taxvat.Trim() + "'" } }, 1, string.Empty); if (lCliente.Count > 0) { rPedido.CD_Clifor = lCliente[0].Cd_clifor; rPedido.NM_Clifor = lCliente[0].Nm_clifor; //Buscar endereco cliente TList_CadEndereco lEnd = new TCD_CadEndereco().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + lCliente[0].Cd_clifor.Trim() + "'" } }, 1, string.Empty); if (lEnd.Count > 0) { rPedido.CD_Endereco = lEnd[0].Cd_endereco; rPedido.DS_Endereco = lEnd[0].Ds_endereco; numero.Text = lEnd[0].Numero; bairro.Text = lEnd[0].Bairro; ds_cidade.Text = lEnd[0].DS_Cidade; uf.Text = lEnd[0].UF; } } else { TRegistro_CadClifor rClifor = new TRegistro_CadClifor(); rClifor.Nm_clifor = eCliente.firstname.Trim().ToUpper() + " " + eCliente.lastname.Trim().ToUpper(); rClifor.Email = eCliente.email.Trim(); rClifor.Tp_pessoa = eCliente.taxvat.Trim().Length.Equals(14) ? "J" : "F"; rClifor.Nr_cgc = eCliente.taxvat.Trim().Length.Equals(14) ? eCliente.taxvat.Trim() : string.Empty; rClifor.Nr_cpf = !eCliente.taxvat.Trim().Length.Equals(14) ? eCliente.taxvat.Trim() : string.Empty; rClifor.Id_categoriaclifor = rCfg.Id_categoriaclifor; rClifor.Cd_condfiscal_clifor = rCfg.Cd_condfiscal_clifor; TRegistro_CadEndereco rEndereco = new TRegistro_CadEndereco(); rEndereco.Cep = ePed.billing_address.postcode; //Buscar Endereco Rest TEndereco_CEPRest eRest = ServiceRest.DataService.BuscarEndCEPRest(rEndereco.Cep); if (eRest != null) { rEndereco.Ds_endereco = eRest.logradouro; rEndereco.Ds_complemento = eRest.complemento; rEndereco.Bairro = eRest.bairro; rEndereco.Cd_cidade = eRest.ibge; string[] str = ePed.billing_address.street.Split(new char[] { '\n' }); if (str.Length >= 2) { rEndereco.Numero = str[1]; } } else { string[] str = ePed.billing_address.street.Split(new char[] { '\n' }); if (str.Length >= 4) { rEndereco.Ds_endereco = str[0]; rEndereco.Bairro = str[3]; rEndereco.Numero = str[1]; } } rClifor.lEndereco.Add(rEndereco); using (Financeiro.Cadastros.TFCadCliforResumido fClifor = new Financeiro.Cadastros.TFCadCliforResumido()) { fClifor.rClifor = rClifor; if (fClifor.ShowDialog() == DialogResult.OK) { try { TCN_CadClifor.Gravar(fClifor.rClifor, null); MessageBox.Show("Cliente cadastrado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); rPedido.CD_Clifor = fClifor.rClifor.Cd_clifor; rPedido.NM_Clifor = fClifor.rClifor.Nm_clifor; rPedido.CD_Endereco = fClifor.rClifor.lEndereco[0].Cd_endereco; rPedido.DS_Endereco = fClifor.rClifor.lEndereco[0].Ds_endereco; numero.Text = fClifor.rClifor.lEndereco[0].Numero; bairro.Text = fClifor.rClifor.lEndereco[0].Bairro; ds_cidade.Text = fClifor.rClifor.lEndereco[0].DS_Cidade; uf.Text = fClifor.rClifor.lEndereco[0].UF; } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { MessageBox.Show("Obrigatório cadastrar cliente para importar pedido.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } } rPedido.cd_empresa = (cbLoja.SelectedItem as TRegistro_LojaVirtual).Cd_empresa; rPedido.Nm_Empresa = (cbLoja.SelectedItem as TRegistro_LojaVirtual).Nm_empresa; rPedido.Nr_PedidoOrigem = (bsPedLoja.Current as TRegistro_Pedido).Nr_PedidoOrigem; rPedido.CFG_Pedido = rCfg.Cfg_pedido; rPedido.TP_Movimento = "S";//Venda rPedido.DT_Pedido = CamadaDados.UtilData.Data_Servidor(); rPedido.ST_Pedido = "F"; rPedido.St_registro = "F"; rPedido.Cd_moeda = rCfg.Cd_moeda; rPedido.Tp_frete = decimal.Divide(decimal.Parse(ePed.shipping_amount.SoNumero()), 10000) > 0 ? "1" : "9"; rPedido.QUANTIDADENF = decimal.Divide(decimal.Parse(ePed.total_qty_ordered.SoNumero()), 10000); //Endereco Entrega TEndereco_CEPRest endRest = ServiceRest.DataService.BuscarEndCEPRest(ePed.shipping_address.postcode.Trim()); if (endRest != null) { rPedido.Logradouroent = endRest.logradouro; rPedido.Complementoent = endRest.complemento; rPedido.Bairroent = endRest.bairro; rPedido.Cd_cidadeent = endRest.ibge; } string[] eEnt = ePed.shipping_address.street.Split(new char[] { '\n' }); if (eEnt.Length >= 4) { rPedido.Logradouroent = eEnt[0]; rPedido.Numeroent = eEnt[1]; rPedido.Complementoent = eEnt[2]; rPedido.Bairroent = eEnt[3]; } //Itens do pedido foreach (salesOrderItemEntity item in ePed.items) { foreach (salesOrderItemEntity nitem in ePed.items) { if (item.sku.ToString().Equals(nitem.sku.ToString()) && decimal.Divide(decimal.Parse(nitem.price.SoNumero()), 10000) == decimal.Zero) { item.name = nitem.name; item.product_id = nitem.product_id; break; } } if (decimal.Divide(decimal.Parse(item.price.SoNumero()), 10000) > decimal.Zero) { TRegistro_LanPedido_Item rItem = new TRegistro_LanPedido_Item(); rItem.Cd_referencia = item.product_id; //Buscar Produto CamadaDados.Estoque.Cadastros.TList_CadProduto lProd = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.codigo_alternativo", vOperador = "=", vVL_Busca = "'" + item.product_id.Trim() + "'" }, new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" } }, 1, string.Empty, string.Empty, string.Empty); if (lProd.Count > 0) { rItem.Cd_produto = lProd[0].CD_Produto; rItem.Ds_produto = lProd[0].DS_Produto; rItem.Cd_unidade_est = lProd[0].CD_Unidade; rItem.Ds_unidade_est = lProd[0].DS_Unidade; rItem.Sg_unidade_est = lProd[0].Sigla_unidade; rItem.Cd_unidade_valor = lProd[0].CD_Unidade; rItem.Ds_unidade_valor = lProd[0].DS_Unidade; rItem.Sg_unidade_valor = lProd[0].Sigla_unidade; } else { rItem.Ds_produto = item.name.Trim().ToUpper(); } rItem.Quantidade = decimal.Divide(decimal.Parse(item.qty_ordered.SoNumero()), 10000); rItem.Vl_unitario = decimal.Divide(decimal.Parse(item.price.SoNumero()), 10000); rItem.Vl_subtotal = decimal.Divide(decimal.Parse(item.row_total.SoNumero()), 10000); rItem.Vl_desc = decimal.Divide(decimal.Parse(item.discount_amount.SoNumero()), 10000); rItem.Cd_local = rCfg.Cd_local; rPedido.Pedido_Itens.Add(rItem); } //Ratear Frete rPedido.Vl_frete = decimal.Divide(decimal.Parse(ePed.shipping_amount.SoNumero()), 10000); if (rPedido.Vl_frete > decimal.Zero) { CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Rateia_Frete(rPedido); } bsPedido.DataSource = new TList_Pedido { rPedido }; } } gPedido.Enabled = false; bbImportar.Enabled = false; tlpPedido.ColumnStyles[1].Width = 623; } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { api.endSession(sessao); } } }