public static string Encerrar(TRegistro_PosVenda val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PosVenda qtb = new TCD_PosVenda(); try { if (banco == null) { st_transacao = qtb.CriarBanco_Dados(true); } else { qtb.Banco_Dados = banco; } val.St_registro = "E"; val.Dt_encerramento = CamadaDados.UtilData.Data_Servidor(); qtb.Gravar(val); if (st_transacao) { qtb.Banco_Dados.Commit_Tran(); } return(val.Id_posvendastr); } catch (Exception ex) { if (st_transacao) { qtb.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro ao excluir pós-venda: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_PosVenda val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PosVenda qtb = new TCD_PosVenda(); try { if (banco == null) { st_transacao = qtb.CriarBanco_Dados(true); } else { qtb.Banco_Dados = banco; } if (string.IsNullOrEmpty(val.Cd_empresa)) { throw new Exception("Obrigatório informar empresa."); } else if (string.IsNullOrEmpty(val.Login)) { throw new Exception("Obrigatório informar login."); } else if (string.IsNullOrEmpty(val.Cd_clifor)) { throw new Exception("Obrigatório informar cliente."); } val.St_registro = "A"; val.Id_posvendastr = CamadaDados.TDataQuery.getPubVariavel(qtb.Gravar(val), "@P_ID_POSVENDA"); val.DelEventoPosVenda.ForEach(d => TCN_PosVenda.Excluir(d, qtb.Banco_Dados)); val.lEventoPosVenda.ForEach(r => { r.Id_posvendastr = val.Id_posvendastr; TCN_PosVenda.Gravar(r, qtb.Banco_Dados); }); val.DelPosVendaQuestionario.ForEach(d => TCN_PosVenda.Excluir(d, qtb.Banco_Dados)); val.lPosVendaQuestionario.ForEach(r => { r.Id_posvendastr = val.Id_posvendastr; TCN_PosVenda.Gravar(r, qtb.Banco_Dados); }); if (val.lOrcamento != null) { val.lOrcamento.ToList().ForEach(r => { TCN_PosVenda.Gravar( new TRegistro_PosVenda_X_Proposta() { Cd_empresa = val.Cd_empresa, Id_posvendastr = val.Id_posvendastr, Nr_orcamentostr = r.Nr_orcamentostr }, qtb.Banco_Dados); }); } if (val.lPosVendaProposta != null) { val.lPosVendaProposta.ForEach(r => { TCN_PosVenda.Gravar(r, qtb.Banco_Dados); }); } if (st_transacao) { qtb.Banco_Dados.Commit_Tran(); } return(val.Id_posvendastr); } catch (Exception ex) { if (st_transacao) { qtb.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro ao gravar a pós-venda: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb.deletarBanco_Dados(); } } }