public static string Gravar(TRegistro_Expedicao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Expedicao cd = new TCD_Expedicao(); try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } val.Id_expedicaostr = CamadaDados.TDataQuery.getPubVariavel(cd.Gravar(val), "@P_ID_EXPEDICAO"); //Excluir Itens val.lItensDel.ForEach(p => TCN_ItensExpedicao.Excluir(p, cd.Banco_Dados)); //Gravar Itens val.lItens.Where(p => p.St_processar).ToList().ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_expedicao = val.Id_expedicao; TCN_ItensExpedicao.Gravar(p, cd.Banco_Dados); }); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return(val.Id_expedicaostr); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar EXPEDICAO: " + ex.Message.Trim()); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_Expedicao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Expedicao cd = new TCD_Expedicao(); try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } //Excluir Itens val.lItensDel.ForEach(p => TCN_ItensExpedicao.Excluir(p, cd.Banco_Dados)); val.lItens.ForEach(p => TCN_ItensExpedicao.Excluir(p, cd.Banco_Dados)); cd.Excluir(val); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception(ex.Message); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }