public static string Excluir(TRegistro_ItensPreVenda val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ItensPreVenda qtb_itens = new TCD_ItensPreVenda(); try { if (st_transacao) { st_transacao = qtb_itens.CriarBanco_Dados(true); } else { qtb_itens.Banco_Dados = banco; } if (new TCD_ItensPreVenda(qtb_itens.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = string.Empty, vVL_Busca = "(exists(select 1 from tb_fat_locacao_x_prevenda x " + " where x.cd_empresa = '" + val.Cd_empresa.Trim() + "'" + " and x.id_prevenda = " + val.Id_prevendastr + " and x.id_itemprevenda = " + val.Id_itemprevendastr + ") or " + "exists(select 1 from tb_fat_itenslocacao_x_prevenda x " + " where x.cd_empresa = '" + val.Cd_empresa.Trim() + "'" + " and x.id_prevenda = " + val.Id_prevendastr + " and x.id_itemprevenda = " + val.Id_itemprevendastr + "))" } }, "1") != null) { throw new Exception("Item Pre Venda teve origem Locação.\r\n" + "Para excluir o item, necessario estornar processamento locação."); } //Excluir resgate de pontos new CamadaDados.Faturamento.Fidelizacao.TCD_ResgatePontos(qtb_itens.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_prevenda", vOperador = "=", vVL_Busca = val.Id_prevendastr }, new TpBusca() { vNM_Campo = "a.id_itemprevenda", vOperador = "=", vVL_Busca = val.Id_itemprevendastr } }, 0, string.Empty).ForEach(p => CamadaNegocio.Faturamento.Fidelizacao.TCN_ResgatePontos.Excluir(p, qtb_itens.Banco_Dados)); qtb_itens.Excluir(val); if (st_transacao) { qtb_itens.Banco_Dados.Commit_Tran(); } return(val.Id_itemprevendastr); } catch (Exception ex) { if (st_transacao) { qtb_itens.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir item: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_itens.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_ItensPreVenda val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ItensPreVenda qtb_itens = new TCD_ItensPreVenda(); try { if (st_transacao) { st_transacao = qtb_itens.CriarBanco_Dados(true); } else { qtb_itens.Banco_Dados = banco; } val.Id_itemprevendastr = CamadaDados.TDataQuery.getPubVariavel(qtb_itens.Gravar(val), "@P_ID_ITEMPREVENDA"); //Gravar Item Pre Venda X Peca OS val.lPecasOS.ForEach(p => CamadaNegocio.Servicos.TCN_Pecas_X_PreVenda.Gravar( new CamadaDados.Servicos.TRegistro_Pecas_X_PreVenda() { Cd_empresa = val.Cd_empresa, Id_prevenda = val.Id_prevenda, Id_itemprevenda = val.Id_itemprevenda, Id_os = p.Id_os, Id_peca = p.Id_peca }, qtb_itens.Banco_Dados)); //Gravar Item Locação X Pre Venda if (val.rItemLocacao != null) { CamadaNegocio.Faturamento.Locacao.TCN_ItensLocacao_X_PreVenda.Gravar( new CamadaDados.Faturamento.Locacao.TRegistro_ItensLocacao_X_PreVenda() { Cd_empresa = val.Cd_empresa, Id_locacao = val.rItemLocacao.Id_locacao, Id_item = val.rItemLocacao.Id_item, Id_prevenda = val.Id_prevenda, Id_itemprevenda = val.Id_itemprevenda }, qtb_itens.Banco_Dados); } if (st_transacao) { qtb_itens.Banco_Dados.Commit_Tran(); } return(val.Id_itemprevendastr); } catch (Exception ex) { if (st_transacao) { qtb_itens.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar item: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_itens.deletarBanco_Dados(); } } }