public static string DeletarRequisicao(TRegistro_Requisicao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Requisicao qtb_req = new TCD_Requisicao(); try { if (banco == null) { st_transacao = qtb_req.CriarBanco_Dados(true); } else { qtb_req.Banco_Dados = banco; } if (val.St_requisicao.Trim().ToUpper().Equals("AC") && val.Id_ordem == null) { //Deletar negociacao val.lregnegdel.ForEach(p => TCN_Requisicao_X_Negociacao.DeletarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados)); val.lReqneg.ForEach(p => { p.Id_requisicao = val.Id_requisicao; TCN_Requisicao_X_Negociacao.DeletarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados); }); //Verificar se Requisição for originada pelo modulo empreendimento CamadaDados.Empreendimento.TList_CompraEmpreendimento lEmpCompra = CamadaNegocio.Empreendimento.TCN_CompraEmpreendimento.Buscar(val.Cd_empresa, string.Empty, string.Empty, string.Empty, val.Id_requisicao.ToString(), qtb_req.Banco_Dados); //Excluir Compra Empreendimento. lEmpCompra.ForEach(p => CamadaNegocio.Empreendimento.TCN_CompraEmpreendimento.Excluir(p, qtb_req.Banco_Dados)); //Deletar Cotacao val.lCotacoes.ForEach(p => TCN_Cotacao.DeletarCotacao(p, qtb_req.Banco_Dados)); //Gravar requisicao qtb_req.DeletarRequisicao(val); } else { //Altera o status para CA - Cancelada val.St_requisicao = "CA"; AlterarRequisicao(val, qtb_req.Banco_Dados); } if (st_transacao) { qtb_req.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_req.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir requisição: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_req.deletarBanco_Dados(); } } }
public static string GravarRequisicao(TRegistro_Requisicao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Requisicao qtb_req = new TCD_Requisicao(); try { if (banco == null) { st_transacao = qtb_req.CriarBanco_Dados(true); } else { qtb_req.Banco_Dados = banco; } //Gravar requisicao string retorno = qtb_req.GravarRequisicao(val); val.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_REQUISICAO")); //Gravar Cotação val.lCotacoes.ForEach(p => { p.Id_requisicao = val.Id_requisicao; TCN_Cotacao.GravarCotacao(p, qtb_req.Banco_Dados); }); //Gravar negociacao val.lReqneg.ForEach(p => { p.Id_requisicao = val.Id_requisicao; p.Cd_empresa = val.Cd_empresa; TCN_Requisicao_X_Negociacao.GravarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados); }); val.lOrdemProd.ForEach(p => { p.Id_requisicao = val.Id_requisicao; p.Cd_empresa = val.Cd_empresa; CamadaNegocio.Producao.Producao.TCN_OrdemProducao_X_Requisicao.Gravar(p, qtb_req.Banco_Dados); }); //Deletar Negociacao val.lregnegdel.ForEach(p => TCN_Requisicao_X_Negociacao.DeletarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados)); if (st_transacao) { qtb_req.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_req.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar requisição: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_req.deletarBanco_Dados(); } } }