Ejemplo n.º 1
0
        public static string GravarEmpreendimento(TRegistro_Empreendimento val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao          = false;
            TCD_Empreendimento qtb_emp = new TCD_Empreendimento();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_emp.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_emp.Banco_Dados = banco;
                }
                string retorno = qtb_emp.GravarEmpreendimento(val);
                val.Id_empreendimento = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_EMPREENDIMENTO"));
                //Deletar centro resultado
                val.lCResultadoDel.ForEach(p => TCN_Empreendimento_X_CResultado.DeletarEmpreendimento_X_CResultado(
                                               new TRegistro_Empreendimento_X_CResultado()
                {
                    Cd_grupocf        = p.Cd_grupocf,
                    Id_empreendimento = val.Id_empreendimento
                }, qtb_emp.Banco_Dados));
                //Gravar centro resultado
                val.lCResultado.ForEach(p => TCN_Empreendimento_X_CResultado.GravarEmpreendimento_X_CResultado(
                                            new TRegistro_Empreendimento_X_CResultado()
                {
                    Cd_grupocf        = p.Cd_grupocf,
                    Id_empreendimento = val.Id_empreendimento
                }, qtb_emp.Banco_Dados));
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar empreendimento: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_emp.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 2
0
        public static string DeletarEmpreendimento(TRegistro_Empreendimento val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao          = false;
            TCD_Empreendimento qtb_emp = new TCD_Empreendimento();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_emp.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_emp.Banco_Dados = banco;
                }
                //Verificar se o empreendimento possui movimentacao
                object obj = new CamadaDados.Financeiro.Empreendimento.TCD_Empreendimento_X_LnCCusto().BuscarEscalar(
                    new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.id_empreendimento",
                        vOperador = "=",
                        vVL_Busca = val.Id_empreendimento.Value.ToString()
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = string.Empty,
                        vOperador = "exists",
                        vVL_Busca = "(select 1 from tb_fin_ccustolancto x " +
                                    "inner join tb_fin_duplicata_x_ccusto y " +
                                    "on x.id_ccustolan = y.id_ccustolan " +
                                    "inner join tb_fin_duplicata z " +
                                    "on y.cd_empresa = z.cd_empresa " +
                                    "and y.nr_lancto = z.nr_lancto " +
                                    "where x.id_ccustolan = a.id_ccustolan " +
                                    "and isnull(z.st_registro, 'A') <> 'C')"
                    }
                }, "1");
                bool st_excluir = true;
                if (obj != null)
                {
                    if (obj.ToString().Trim().Equals("1"))
                    {
                        st_excluir = false;
                    }
                }
                if (st_excluir)
                {
                    //Deletar empreendimento
                    qtb_emp.DeletarEmpreendimento(val);
                }
                else
                {
                    val.St_registro = "C";
                    GravarEmpreendimento(val, qtb_emp.Banco_Dados);
                }
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_emp.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir empreendimento: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_emp.deletarBanco_Dados();
                }
            }
        }