예제 #1
0
        public static string Gravar(TRegistro_CadEtapa val, BancoDados.TObjetoBanco banco)
        {
            TCD_CadEtapa cd           = new TCD_CadEtapa();
            bool         st_transacao = false;

            try
            {
                if (banco == null)
                {
                    st_transacao = cd.CriarBanco_Dados(true);
                }
                else
                {
                    cd.Banco_Dados = banco;
                }
                //Buscar ultimo numero da ordem
                object obj = new CamadaDados.Faturamento.Cadastros.TCD_CadEtapa(cd.Banco_Dados).BuscarEscalar(null, "isnull(a.Ordem, 0)", string.Empty, "a.id_etapa desc", null);
                if (obj != null)
                {
                    val.Ordem = Convert.ToDecimal(obj.ToString()) + 1;
                }
                val.Id_etapastr = CamadaDados.TDataQuery.getPubVariavel(cd.Grava(val), "@P_ID_ETAPA");
                if (st_transacao)
                {
                    cd.Banco_Dados.Commit_Tran();
                }
                return(val.Id_etapastr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    cd.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar etapa: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    cd.deletarBanco_Dados();
                }
            }
        }
예제 #2
0
        public static void MoverRegistros(TRegistro_CadEtapa rOrig, TRegistro_CadEtapa rDest, BancoDados.TObjetoBanco banco)
        {
            bool         st_transacao = false;
            TCD_CadEtapa qtb_itens    = new TCD_CadEtapa();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_itens.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_itens.Banco_Dados = banco;
                }
                decimal classif = rOrig.Ordem;
                rOrig.Ordem = rDest.Ordem;
                qtb_itens.Grava(rOrig);
                rDest.Ordem = classif;
                qtb_itens.Grava(rDest);
                if (st_transacao)
                {
                    qtb_itens.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_itens.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro mover registros: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_itens.deletarBanco_Dados();
                }
            }
        }
예제 #3
0
        public static void Excluir(TRegistro_CadEtapa val, BancoDados.TObjetoBanco banco)
        {
            bool         st_transacao = false;
            TCD_CadEtapa cd           = new TCD_CadEtapa();

            try
            {
                object obj = new CamadaDados.Faturamento.Cadastros.TCD_CadEtapa(cd.Banco_Dados).BuscarEscalar(
                    new TpBusca[] {
                    new TpBusca()
                    {
                        vNM_Campo = "",
                        vOperador = "exists",
                        vVL_Busca = "(select b.ID_Etapa from TB_FAT_pedido_etapa b where a.id_etapa = b.id_etapa)"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.id_etapa",
                        vOperador = "=",
                        vVL_Busca = val.Id_etapastr
                    }
                }, "isnull(a.id_etapa, 0)", string.Empty, "a.id_etapa desc", null);
                if (obj == null)
                {
                    if (banco == null)
                    {
                        st_transacao = cd.CriarBanco_Dados(true);
                    }
                    else
                    {
                        cd.Banco_Dados = banco;
                    }
                    val.lprocesso.ForEach(p => TCN_CadProcessoEtapa.Excluir(p, cd.Banco_Dados));
                    cd.Deleta(val);
                    if (st_transacao)
                    {
                        cd.Banco_Dados.Commit_Tran();
                    }
                }
                else
                {
                    val.stRegistro = "C";
                    Gravar(val, null);
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    cd.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir serie: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    cd.deletarBanco_Dados();
                }
            }
        }