Example #1
0
        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();
                }
            }
        }
Example #2
0
        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();
                }
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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
            {
            }
        }
Example #5
0
        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();
                }
            }
        }
Example #6
0
        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); }
            }
        }