Esempio n. 1
0
        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();
                }
            }
        }
Esempio n. 2
0
        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();
                }
            }
        }