public TList_Cad_ParamGMO Select(TpBusca[] vBusca, Int32 vTop, string vNM_Campo) { TList_Cad_ParamGMO lista = new TList_Cad_ParamGMO(); bool podeFecharBco = false; if (Banco_Dados == null) { podeFecharBco = this.CriarBanco_Dados(false); } System.Data.SqlClient.SqlDataReader reader = this.ExecutarBusca(this.SqlCodeBusca(vBusca, Convert.ToInt16(vTop), vNM_Campo)); try { while (reader.Read()) { TRegistro_Cad_ParamGMO reg = new TRegistro_Cad_ParamGMO(); if (!reader.IsDBNull(reader.GetOrdinal("cd_empresa"))) { reg.Cd_empresa = reader.GetString(reader.GetOrdinal("cd_empresa")); } if (!reader.IsDBNull(reader.GetOrdinal("nm_empresa"))) { reg.Nm_empresa = reader.GetString(reader.GetOrdinal("nm_empresa")); } if (!reader.IsDBNull(reader.GetOrdinal("cd_Historico_Pgto"))) { reg.Cd_historico_pgto = reader.GetString(reader.GetOrdinal("cd_Historico_Pgto")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_Historico_Pgto"))) { reg.Ds_historico_pgto = reader.GetString(reader.GetOrdinal("ds_Historico_Pgto")); } if (!reader.IsDBNull(reader.GetOrdinal("cd_Historico_Retencao"))) { reg.Cd_historico_retencao = reader.GetString(reader.GetOrdinal("cd_Historico_Retencao")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_Historico_Retencao"))) { reg.Ds_historico_retencao = reader.GetString(reader.GetOrdinal("ds_Historico_Retencao")); } if (!reader.IsDBNull(reader.GetOrdinal("cd_Contager"))) { reg.Cd_contager = reader.GetString(reader.GetOrdinal("cd_Contager")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_Contager"))) { reg.Ds_contager = reader.GetString(reader.GetOrdinal("ds_Contager")); } if (!reader.IsDBNull(reader.GetOrdinal("cd_Portador"))) { reg.Cd_portador = reader.GetString(reader.GetOrdinal("cd_Portador")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_portador"))) { reg.Ds_portador = reader.GetString(reader.GetOrdinal("ds_portador")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { this.deletarBanco_Dados(); } } return(lista); }
public static TList_RegLanParcela liquidaDuplicatas(TRegistro_SaldoNFGMO rSaldoNf, TRegistro_SaldoContratoGMO rSaldoPed, decimal vl_Liquidar, decimal qtdLancto, TObjetoBanco banco) { TList_RegLanParcela lParcelas = Financeiro.Duplicata.TCN_LanParcela.Busca(rSaldoNf.Cd_empresa, rSaldoNf.Nr_lanctoduplicata.Value, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 0, string.Empty, banco); TRegistro_LanLiquidacao liquid = new TRegistro_LanLiquidacao(); TList_Cad_ParamGMO lParamGMO = TCN_Cad_ParamGMO.Buscar(rSaldoNf.Cd_empresa, string.Empty, string.Empty, string.Empty, banco); if (lParamGMO.Count > 0) { lParcelas.ForEach(p => { liquid = new TRegistro_LanLiquidacao(); liquid.Cd_empresa = rSaldoNf.Cd_empresa; liquid.Nr_lancto = rSaldoNf.Nr_lanctoduplicata.Value; liquid.Cd_parcela = p.Cd_parcela; liquid.cVl_Atual = vl_Liquidar; liquid.Cd_contager = lParamGMO[0].Cd_contager; liquid.Cvl_aliquidar_padrao = vl_Liquidar; liquid.Nr_docto = p.Nr_docto; liquid.Ds_contaGer = lParamGMO[0].Ds_contager; liquid.Cd_portador = lParamGMO[0].Cd_portador; liquid.Ds_portador = lParamGMO[0].Ds_portador; liquid.Cd_historico = lParamGMO[0].Cd_historico_pgto; liquid.Ds_historico = lParamGMO[0].Ds_historico_pgto; liquid.Dt_Liquidacao = rSaldoNf.Dt_saient; liquid.Tp_mov = p.Tp_mov; liquid.Vl_parcela = p.Vl_parcela; liquid.Vl_atual = p.Vl_atual; liquid.Vl_difcamb_at = decimal.Zero; liquid.Vl_difcamb_pa = decimal.Zero; liquid.Vl_Liquidado = p.Vl_liquidado; liquid.Vl_liquidado_padrao = p.Vl_liquidado; liquid.Vl_DescontoBonus = decimal.Zero; liquid.Vl_JuroAcrescimo = decimal.Zero; liquid.st_registro = "A"; liquid.cVl_Nominal = decimal.Zero; liquid.cVl_Liquidado = p.Vl_liquidado; liquid.cVl_JuroTotal = decimal.Zero; liquid.cVl_DescontoTotal = decimal.Zero; Financeiro.Duplicata.TCN_LanLiquidacao.GravarLiquidacao(lParcelas, liquid, null, null, null, null, banco); //Cria registro para gravar lançamento de caixa. TRegistro_LanCaixa lCx = new TRegistro_LanCaixa(); lCx.Cd_ContaGer = lParamGMO[0].Cd_contager; lCx.Cd_LanctoCaixa = decimal.Zero; lCx.Cd_Empresa = lParamGMO[0].Cd_empresa; lCx.Cd_Historico = lParamGMO[0].Cd_historico_retencao; lCx.Vl_RECEBER = vl_Liquidar; lCx.Vl_PAGAR = decimal.Zero; lCx.Vl_Atual = decimal.Zero; lCx.Vl_Anterior = decimal.Zero; lCx.Nr_Docto = p.Nr_docto; lCx.Dt_lancto = rSaldoNf.Dt_saient; lCx.ComplHistorico = string.Empty; string vLanctoCx = Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa(lCx, banco); decimal lanctoCx = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(vLanctoCx, "@P_CD_LANCTOCAIXA")); if (liquid.Id_liquid.Equals(decimal.Zero) || lanctoCx.Equals(decimal.Zero)) { throw new Exception("Erro ao gravar Liquidação/Caixa "); } string credroy = Gravar(new TRegistro_LanRoyaltiesGMO() { CD_Produto = rSaldoPed.Cd_produto, DS_Observacao = "Crédito Retido GMO nota fiscal Número " + p.Nr_docto, Id_lanctoGMO = decimal.Zero, Nr_Contrato = rSaldoPed.Nr_contrato, QTD_Credito = qtdLancto, QTD_Debito = decimal.Zero, Tp_gmo = rSaldoPed.Tp_gmo, TP_Lancto = "N" }, banco); //Cria registro da retencao financeira TRegistro_Lan_RetencaoFinanceiraGMO lRGmo = new TRegistro_Lan_RetencaoFinanceiraGMO(); lRGmo.Id_Liquid = liquid.Id_liquid; lRGmo.Id_LanctoGMO = Convert.ToDecimal(credroy); lRGmo.Nr_Lancto = rSaldoNf.Nr_lanctoduplicata; lRGmo.Cd_ContaGer = lParamGMO[0].Cd_contager; lRGmo.Cd_Empresa = rSaldoNf.Cd_empresa; lRGmo.Cd_LanctoCaixa = lanctoCx; lRGmo.Cd_Parcela = p.Cd_parcela; TCN_Lan_RetencaoFinanceiraGMO.Gravar(lRGmo, banco); if ((rSaldoNf.Nr_lanctofiscal != null) && (rSaldoNf.Id_nfitem != null)) { TCN_Lan_NotaFiscalGMO.Gravar( new TRegistro_Lan_NotaFiscalGMO() { cd_Empresa = rSaldoNf.Cd_empresa, id_LanctoGmo = Convert.ToDecimal(credroy), id_NfItem = rSaldoNf.Id_nfitem, nr_LanctoFiscal = rSaldoNf.Nr_lanctofiscal }, banco); } }); } else { throw new Exception("Não existem parâmetros de GMO configurados para a empresa " + rSaldoNf.Cd_empresa.Trim()); } return(lParcelas); }