public static string GravarFixacaoNf(TRegistro_Fixacao_NF val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Fixacao_NF qtb_fixacaonf = new TCD_Fixacao_NF(); try { if (banco == null) { st_transacao = qtb_fixacaonf.CriarBanco_Dados(true); } else { qtb_fixacaonf.Banco_Dados = banco; } //Gravar fixacao Nf string retorno = qtb_fixacaonf.Gravar(val); if (st_transacao) { qtb_fixacaonf.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_fixacaonf.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar registro: " + ex.Message.Trim()); } }
public static string DeletarFixacaoNf(TRegistro_Fixacao_NF val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Fixacao_NF qtb_fixacaonf = new TCD_Fixacao_NF(); try { if (banco == null) { st_transacao = qtb_fixacaonf.CriarBanco_Dados(true); } else { qtb_fixacaonf.Banco_Dados = banco; } qtb_fixacaonf.Excluir(val); if (st_transacao) { qtb_fixacaonf.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_fixacaonf.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fixacaonf.deletarBanco_Dados(); } } }
public static string GravarFixacao(TRegistro_LanFixacao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LanFixacao qtb_fixacao = new TCD_LanFixacao(); try { if (banco == null) { st_transacao = qtb_fixacao.CriarBanco_Dados(true); } else { qtb_fixacao.Banco_Dados = banco; } //Gravar fixacao string retorno = qtb_fixacao.Gravar(val); val.Id_fixacao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_FIXACAO")); //Gravar Fixacao X Contrato TCN_Fixacao_X_Contrato.Gravar(new TRegistro_Fixacao_X_Contrato() { Id_fixacao = val.Id_fixacao, Nr_contrato = val.Nr_contrato, }, qtb_fixacao.Banco_Dados); //Gravar nota fiscal de complemento val.lFixacaonf.ForEach(p => { if (p.rNfComplemento != null) { TCN_LanFaturamento.GravarFaturamento(p.rNfComplemento, null, qtb_fixacao.Banco_Dados); //Gravar Fixacao NF Complemento TRegistro_Fixacao_NF rFComp = new TRegistro_Fixacao_NF(); rFComp.Id_fixacao = val.Id_fixacao; rFComp.Id_fixacaonf = null; rFComp.Cd_empresa = p.rNfComplemento.Cd_empresa; rFComp.Nr_lanctofiscal = p.rNfComplemento.Nr_lanctofiscal; rFComp.Id_nfitem = p.rNfComplemento.ItensNota[0].Id_nfitem; rFComp.Qtd_fixacao = p.Qtd_fixacao; rFComp.Vl_complemento = decimal.Zero; rFComp.Vl_devolucao = decimal.Zero; rFComp.Vl_fixacao = p.Vl_fixacao; rFComp.Tp_nota = "C"; TCN_Fixacao_NF.GravarFixacaoNf(rFComp, qtb_fixacao.Banco_Dados); } //Gravar Fixacao NF Pauta p.Tp_nota = "P"; p.Id_fixacao = val.Id_fixacao; TCN_Fixacao_NF.GravarFixacaoNf(p, qtb_fixacao.Banco_Dados); }); //Gravar Nota Fiscal de Devolucao if (val.rNfDev != null) { TCN_LanFaturamento.GravarFaturamento(val.rNfDev, null, qtb_fixacao.Banco_Dados); TRegistro_Fixacao_NF rFDev = new TRegistro_Fixacao_NF(); rFDev.Id_fixacao = val.Id_fixacao; rFDev.Id_fixacaonf = null; rFDev.Cd_empresa = val.rNfDev.Cd_empresa; rFDev.Nr_lanctofiscal = val.rNfDev.Nr_lanctofiscal; rFDev.Id_nfitem = val.rNfDev.ItensNota[0].Id_nfitem; rFDev.Qtd_fixacao = val.lFixacaonf.Where(p => p.Vl_devolucao > decimal.Zero).Sum(p => p.Qtd_fixacao); rFDev.Vl_complemento = decimal.Zero; rFDev.Vl_devolucao = decimal.Zero; rFDev.Vl_fixacao = val.lFixacaonf.Where(p => p.Vl_devolucao > decimal.Zero).Sum(p => p.Vl_fixacao); rFDev.Tp_nota = "D"; //Gravar Fixacao NF Devolucao TCN_Fixacao_NF.GravarFixacaoNf(rFDev, qtb_fixacao.Banco_Dados); val.lFixacaonf.ForEach(p => { //Gravar Fixacao NF Pauta p.Tp_nota = "P"; p.Id_fixacao = val.Id_fixacao; TCN_Fixacao_NF.GravarFixacaoNf(p, qtb_fixacao.Banco_Dados); }); } //Gravar Financeiro Fixacao if (val.rDup != null) { val.rDup.Nr_docto = "RAP" + val.Id_fixacao.Value.ToString(); Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(val.rDup, false, qtb_fixacao.Banco_Dados); //Gravar Fixacao X Duplicata TCN_Fixacao_X_Duplicata.Gravar(new TRegistro_Fixacao_X_Duplicata() { Id_fixacao = val.Id_fixacao, Cd_empresa = val.rDup.Cd_empresa, Nr_lancto = val.rDup.Nr_lancto }, qtb_fixacao.Banco_Dados); if (ConfigGer.TCN_CadParamGer.BuscaVL_Bool("ST_CONTROLAR_GMO", val.rDup.Cd_empresa, qtb_fixacao.Banco_Dados).Trim().ToUpper().Equals("S")) { val.lFixacaonf.Where(p => p.Vl_complemento > decimal.Zero).ToList().ForEach(p => { //Gravar Retencao GMO TRegistro_SaldoNFGMO rSaldoNf = new TRegistro_SaldoNFGMO(); rSaldoNf.Cd_empresa = val.rDup.Cd_empresa; rSaldoNf.Nr_lanctoduplicata = val.rDup.Nr_lancto; rSaldoNf.Dt_saient = val.rDup.Dt_emissao; rSaldoNf.Nr_lanctofiscal = p.rNfComplemento.Nr_lanctofiscal; rSaldoNf.Id_nfitem = p.rNfComplemento.ItensNota[0].Id_nfitem; if (val.Qtd_gmo_declarado > decimal.Zero) { //Liquidar duplicata retendo os Royalties TCN_LanRoyaltiesGMO.liquidaDuplicatas(rSaldoNf, new TRegistro_SaldoContratoGMO() { Cd_produto = val.Cd_produto, Nr_contrato = val.Nr_contrato, Tp_gmo = "D" }, val.Vl_royalties_declarado, val.Qtd_gmo_declarado, qtb_fixacao.Banco_Dados); } if (val.Qtd_gmo_testado > decimal.Zero) { //Liquidar duplicata retendo os Royalties TCN_LanRoyaltiesGMO.liquidaDuplicatas(rSaldoNf, new TRegistro_SaldoContratoGMO() { Cd_produto = val.Cd_produto, Nr_contrato = val.Nr_contrato, Tp_gmo = "T" }, val.Vl_royalties_testado, val.Qtd_gmo_testado, qtb_fixacao.Banco_Dados); } }); if (val.rNfDev != null) { //Gravar Retencao GMO TRegistro_SaldoNFGMO rSaldoNf = new TRegistro_SaldoNFGMO(); rSaldoNf.Cd_empresa = val.rDup.Cd_empresa; rSaldoNf.Nr_lanctoduplicata = val.rDup.Nr_lancto; rSaldoNf.Dt_saient = val.rDup.Dt_emissao; rSaldoNf.Nr_lanctofiscal = val.rNfDev.Nr_lanctofiscal; rSaldoNf.Id_nfitem = val.rNfDev.ItensNota[0].Id_nfitem; if (val.Qtd_gmo_declarado > decimal.Zero) { //Liquidar duplicata retendo os Royalties TCN_LanRoyaltiesGMO.liquidaDuplicatas(rSaldoNf, new TRegistro_SaldoContratoGMO() { Cd_produto = val.Cd_produto, Nr_contrato = val.Nr_contrato, Tp_gmo = "D" }, val.Vl_royalties_declarado, val.Qtd_gmo_declarado, qtb_fixacao.Banco_Dados); } if (val.Qtd_gmo_testado > decimal.Zero) { //Liquidar duplicata retendo os Royalties TCN_LanRoyaltiesGMO.liquidaDuplicatas(rSaldoNf, new TRegistro_SaldoContratoGMO() { Cd_produto = val.Cd_produto, Nr_contrato = val.Nr_contrato, Tp_gmo = "T" }, val.Vl_royalties_testado, val.Qtd_gmo_testado, qtb_fixacao.Banco_Dados); } } } } if (st_transacao) { qtb_fixacao.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_fixacao.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar fixação: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fixacao.deletarBanco_Dados(); } } }