public static void AplicarPSDiversas(List <TRegistro_PesagemDiversas> val, CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNf, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PesagemDiversas qtb_pesagem = new TCD_PesagemDiversas(); try { if (banco == null) { st_transacao = qtb_pesagem.CriarBanco_Dados(true); } else { qtb_pesagem.Banco_Dados = banco; } //Gravar Nota Fiscal em Pesagem Diversas CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.GravarFaturamento(rNf, null, qtb_pesagem.Banco_Dados); val.ForEach(p => { p.Nr_lanctoFiscal = rNf.Nr_lanctofiscal; p.Id_NFItem = rNf.ItensNota[0].Id_nfitem; qtb_pesagem.Gravar(p); }); if (st_transacao) { qtb_pesagem.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_pesagem.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro aplicar pesagem: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_pesagem.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_PesagemDiversas val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PesagemDiversas qtb_pesagem = new TCD_PesagemDiversas(); try { if (banco == null) { st_transacao = qtb_pesagem.CriarBanco_Dados(true); } else { qtb_pesagem.Banco_Dados = banco; } if ((val.Ps_bruto > 0) && (val.Ps_tara > 0)) { val.St_registro = "F";//Finalizar pesagem } val.Id_ticketstr = CamadaDados.TDataQuery.getPubVariavel(qtb_pesagem.Gravar(val), "@P_ID_TICKET"); if (st_transacao) { qtb_pesagem.Banco_Dados.Commit_Tran(); } return(val.Id_ticketstr); } catch (Exception ex) { if (st_transacao) { qtb_pesagem.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar pesagem: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_pesagem.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_PesagemDiversas val, BancoDados.TObjetoBanco banco) { //Verificar se pesagem não tem aplicação TList_LanAplicacaoPedido lAplicacao = TCN_LanAplicacaoPedido.Buscar(string.Empty, string.Empty, string.Empty, val.Cd_empresa, string.Empty, val.Id_ticket.ToString(), val.Tp_pesagem, banco); if (lAplicacao.Count > 0) { string msg = ""; for (int i = 0; i < lAplicacao.Count; i++) { msg += "Aplicação...: " + lAplicacao[i].Id_aplicacao.ToString() + "\r\n" + "Pedido......: " + lAplicacao[i].Nr_pedido.ToString() + "\r\n" + "Nota Fiscal.: " + lAplicacao[i].Nr_notafiscalaplic.ToString() + "\r\n" + "Serie NF....: " + lAplicacao[i].Nr_serieaplic.ToString() + "\r\n" + "--------------------------------------\r\n"; } throw new Exception("Não é possivel excluir pesagem porque existe aplicação.\r\n\r\n" + "-------Dados da Pesagem-------\r\n" + "Empresa.....: " + val.Cd_empresa + "\r\n" + "Ticket......: " + val.Id_ticket.ToString() + "\r\n" + "TP. Pesagem.: " + val.Tp_pesagem + "\r\n\r\n" + "--------Dados Aplicação---------\r\n" + msg); } bool st_transacao = false; TCD_PesagemDiversas qtb_pesagem = new TCD_PesagemDiversas(); try { if (st_transacao) { st_transacao = qtb_pesagem.CriarBanco_Dados(true); } else { qtb_pesagem.Banco_Dados = banco; } //Setar ST_Registro para C, pois a exclusão é somente lógica. val.St_registro = "C"; qtb_pesagem.Gravar(val); if (st_transacao) { qtb_pesagem.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_pesagem.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro cancelar pesagem avulsa: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_pesagem.deletarBanco_Dados(); } } }