public static string Gravar(TRegistro_OrdemCarregamento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_OrdemCarregamento cd = new TCD_OrdemCarregamento(); try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } val.Id_ordemstr = CamadaDados.TDataQuery.getPubVariavel(cd.Gravar(val), "@P_ID_ORDEM"); //Excluir Itens val.lItensDel.ForEach(p => TCN_Ordem_X_Expedicao.Excluir(p, cd.Banco_Dados)); //Gravar Itens val.lExp.ForEach(p => { if (p.St_processar) { TCN_Ordem_X_Expedicao.Gravar(new TRegistro_Ordem_X_Expedicao() { Cd_empresa = val.Cd_empresa, Id_ordem = val.Id_ordem, Id_expedicao = p.Id_expedicao }, cd.Banco_Dados); } }); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return(val.Id_ordemstr); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar ordem: " + ex.Message.Trim()); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_OrdemCarregamento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_OrdemCarregamento cd = new TCD_OrdemCarregamento(); try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } //Excluir Ordem X Expedição val.lItens.ForEach(p => TCN_Ordem_X_Expedicao.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(); } } }