Example #1
0
        public new static bool Delete
        (
            ORC_Habilidades entity
            , TalkDBTransaction banco
        )
        {
            ORC_HabilidadesDAO dao = new ORC_HabilidadesDAO();

            if (banco == null)
            {
                dao._Banco.Open(IsolationLevel.ReadCommitted);
            }
            else
            {
                dao._Banco = banco;
            }

            try
            {
                // Verifica se o conteúdo do objetivo da orientação curricular pode ser deletado
                if (GestaoEscolarUtilBO.VerificaIntegridadaChaveTripla
                    (
                        "obj_id"
                        , "ctd_id"
                        , "hbl_id"
                        , entity.obj_id.ToString()
                        , entity.ctd_id.ToString()
                        , entity.hbl_id.ToString()
                        , "ORC_Objetivo,ORC_Conteudo,ORC_ConteudoItem,ORC_Habilidades,ORC_ConteudoTipoPeriodoCalendario"
                        , dao._Banco
                    ))
                {
                    throw new ValidationException("Não é possível excluir a habilidade do objetivo da orientação curricular, pois possui outros registros ligados a ela.");
                }

                // Deleta logicamente o conteúdo do objetivo da orientação curricular
                dao.Delete(entity);

                return(true);
            }
            catch (Exception err)
            {
                if (banco == null)
                {
                    dao._Banco.Close(err);
                }

                throw;
            }
            finally
            {
                if (banco == null)
                {
                    dao._Banco.Close();
                }
            }
        }