예제 #1
0
        public static List <sTipoDisciplina> SelecionaTipoDisciplinaObjetosAprendizagem(Guid ent_id, int cal_ano, int esc_id, Guid uad_idSuperior, int AppMinutosCacheLongo = 0)
        {
            List <sTipoDisciplina> lista = null;

            if (AppMinutosCacheLongo > 0 && HttpContext.Current != null)
            {
                string chave = String.Format("Cache_SelecionaTipoDisciplinaObjetosAprendizagem_{0}_{1}_{2}_{3}", ent_id, cal_ano, esc_id, uad_idSuperior);
                object cache = HttpContext.Current.Cache[chave];

                if (cache == null)
                {
                    bool controlarOrdem = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_ORDEM_DISCIPLINAS, ent_id);

                    lista = (from dr in new ACA_TipoDisciplinaDAO().SelectBy_ObjetosAprendizagem(cal_ano, true, controlarOrdem, esc_id, uad_idSuperior, out totalRecords).AsEnumerable()
                             select(sTipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoDisciplina())).ToList();

                    HttpContext.Current.Cache.Insert(chave, lista, null, DateTime.Now.AddMinutes(AppMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration);
                }
                else
                {
                    lista = (List <sTipoDisciplina>)cache;
                }
            }
            else
            {
                bool controlarOrdem = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_ORDEM_DISCIPLINAS, ent_id);

                lista = (from dr in new ACA_TipoDisciplinaDAO().SelectBy_ObjetosAprendizagem(cal_ano, true, controlarOrdem, esc_id, uad_idSuperior, out totalRecords).AsEnumerable()
                         select(sTipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoDisciplina())).ToList();
            }

            return(lista);
        }
예제 #2
0
 /// <summary>
 /// Seleciona os dados para lançamento de frequencia externa do aluno
 /// </summary>
 /// <param name="alu_id">ID do aluno</param>
 /// <param name="mtu_id">ID da matrícula turma do aluno</param>
 /// <returns></returns>
 public static List <DadosLancamentoFreqExterna> SelecionaDadosAlunoLancamentoFrequenciaExterna(long alu_id, int mtu_id)
 {
     return(new CLS_AlunoFrequenciaExternaDAO().SelecionaDadosAlunoLancamentoFrequenciaExterna(alu_id, mtu_id)
            .Select()
            .Select(p => (DadosLancamentoFreqExterna)GestaoEscolarUtilBO.DataRowToEntity(p, new DadosLancamentoFreqExterna()))
            .ToList());
 }
예제 #3
0
        /// <summary>
        /// Retorna todos os cargos do tipo informado.
        /// </summary>
        public static List <RHU_Cargo> SelecionaPorTipo(Guid ent_id, eTipoCargo crg_tipo)
        {
            DataTable dt = new RHU_CargoDAO().SelectPorTipo(ent_id, (byte)crg_tipo);

            return((from DataRow dr in dt.Rows
                    select(RHU_Cargo) GestaoEscolarUtilBO.DataRowToEntity(dr, new RHU_Cargo())).ToList());
        }
예제 #4
0
        public static List <sTipoDisciplina> SelecionaTipoDisciplinaPorEscola(int esc_id)
        {
            List <sTipoDisciplina> lista = (from dr in new ACA_TipoDisciplinaDAO().SelectByEscola(esc_id).AsEnumerable()
                                            select(sTipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoDisciplina())).ToList();

            return(lista);
        }
예제 #5
0
        /// <summary>
        /// Carrega os tipos de disciplinas por curso e ciclo
        /// </summary>
        /// <param name="cur_id">Campo Id da tabela ACA_Curso</param>
        /// <param name="tci_id">Id do tipo de ciclo</param>
        /// <returns>Lista com os tipos de disciplina</returns>
        public static List <ACA_TipoDisciplina> SelecionaTipoDisciplinaPorCursoTipoCiclo(int cur_id, int tci_id, int esc_id, int AppMinutosCacheLongo = 0)
        {
            List <ACA_TipoDisciplina> lista = null;

            if (AppMinutosCacheLongo > 0 && HttpContext.Current != null)
            {
                string chave = String.Format("Cache_SelecionaTipoDisciplinaPorCursoTipoCiclo_{0}_{1}_{2}"
                                             , cur_id
                                             , tci_id
                                             , esc_id);
                object cache = HttpContext.Current.Cache[chave];

                if (cache == null)
                {
                    lista = (from dr in new ACA_CurriculoDisciplinaDAO().SelectBy_CursoTipoCiclo(cur_id, tci_id, esc_id).AsEnumerable()
                             select(ACA_TipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new ACA_TipoDisciplina())).ToList();

                    HttpContext.Current.Cache.Insert(chave, lista, null, DateTime.Now.AddMinutes(AppMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration);
                }
                else
                {
                    lista = (List <ACA_TipoDisciplina>)cache;
                }
            }
            else
            {
                lista = (from dr in new ACA_CurriculoDisciplinaDAO().SelectBy_CursoTipoCiclo(cur_id, tci_id, esc_id).AsEnumerable()
                         select(ACA_TipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new ACA_TipoDisciplina())).ToList();
            }

            return(lista);
        }
예제 #6
0
        public static List <sTurmaAulaAluno> SelecionaFrequenciaAulaTurmaDisciplina
        (
            long tud_id
            , int tau_id
            , string tur_ids = null
        )
        {
            CLS_TurmaAulaAlunoDAO dao = new CLS_TurmaAulaAlunoDAO();

            DataTable dtTurmas = TUR_Turma.TipoTabela_Turma();

            if (!string.IsNullOrEmpty(tur_ids))
            {
                tur_ids.Split(';').ToList().ForEach
                (
                    p =>
                {
                    DataRow dr   = dtTurmas.NewRow();
                    dr["tur_id"] = p.ToString();
                    dtTurmas.Rows.Add(dr);
                }
                );
            }

            return(dao.SelectBy_FrequenciaTurmaDisciplina(tud_id, tau_id, dtTurmas)
                   .Select()
                   .Select(p => (sTurmaAulaAluno)GestaoEscolarUtilBO.DataRowToEntity(p, new sTurmaAulaAluno()))
                   .ToList());
        }
예제 #7
0
        /// <summary>
        /// Retornar a frequencia de territórios do saber
        /// </summary>
        /// <param name="tud_id"></param>
        /// <param name="tau_id"></param>
        /// <param name="banco"></param>
        /// <returns></returns>
        public static List <sTurmaAulaAluno> SelecionaFrequenciaAulaTurmaDisciplinaTerritorio(long tud_id, int tau_id, TalkDBTransaction banco = null)
        {
            CLS_TurmaAulaAlunoDAO dao = banco == null ? new CLS_TurmaAulaAlunoDAO() : new CLS_TurmaAulaAlunoDAO {
                _Banco = banco
            };

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

            try
            {
                return(dao.SelecionaFrequenciaAulaTurmaDisciplinaTerritorio(tud_id, tau_id)
                       .Select()
                       .Select(p => (sTurmaAulaAluno)GestaoEscolarUtilBO.DataRowToEntity(p, new sTurmaAulaAluno()))
                       .ToList());
            }
            catch (Exception ex)
            {
                if (banco == null)
                {
                    dao._Banco.Close(ex);
                }
                throw;
            }
            finally
            {
                if (banco == null && dao._Banco.ConnectionIsOpen)
                {
                    dao._Banco.Close();
                }
            }
        }
예제 #8
0
        /// <summary>
        /// Retorna todos os tipos de períodos do calendário não excluídos logicamente por turma.
        /// </summary>
        /// <param name="tur_id">Id da turma</param>
        /// <returns></returns>
        public static List <sTipoPeriodoCalendario> SelecionaTipoPeriodoCalendario_Tur(long tur_id, int AppMinutosCacheLongo = 0)
        {
            List <sTipoPeriodoCalendario> lista = null;

            if (AppMinutosCacheLongo > 0 && HttpContext.Current != null)
            {
                string chave = string.Format("Cache_SelecionaTipoPeriodoCalendario_Tur_{0}", tur_id);
                object cache = HttpContext.Current.Cache[chave];

                if (cache == null)
                {
                    lista = (from dr in new ACA_TipoPeriodoCalendarioDAO().SelectBy_Tur(tur_id).AsEnumerable()
                             select(sTipoPeriodoCalendario) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoPeriodoCalendario())).ToList();

                    HttpContext.Current.Cache.Insert(chave, lista, null, DateTime.Now.AddMinutes(AppMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration);
                }
                else
                {
                    lista = (List <sTipoPeriodoCalendario>)cache;
                }
            }
            else
            {
                lista = (from dr in new ACA_TipoPeriodoCalendarioDAO().SelectBy_Tur(tur_id).AsEnumerable()
                         select(sTipoPeriodoCalendario) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoPeriodoCalendario())).ToList();
            }

            return(lista);
        }
예제 #9
0
        public static List <sTipoDisciplina> SelecionaTipoDisciplinaTipo(Guid ent_id, byte tds_tipo, int AppMinutosCacheLongo = 0)
        {
            List <sTipoDisciplina> lista = null;

            if (AppMinutosCacheLongo > 0 && HttpContext.Current != null)
            {
                string chave = String.Format("Cache_SelecionaTipoDisciplinaTipo_{0}", ent_id);
                object cache = HttpContext.Current.Cache[chave];

                if (cache == null)
                {
                    bool controlarOrdem = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_ORDEM_DISCIPLINAS, ent_id);

                    lista = (from dr in new ACA_TipoDisciplinaDAO().SelectBy_Pesquisa(0, 0, 0, (tds_tipo != (byte)ACA_TipoDisciplinaBO.TipoDisciplina.RecuperacaoParalela), controlarOrdem, false, 1, 1, out totalRecords).AsEnumerable()
                             select(sTipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoDisciplina())).ToList();

                    HttpContext.Current.Cache.Insert(chave, lista, null, DateTime.Now.AddMinutes(AppMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration);
                }
                else
                {
                    lista = (List <sTipoDisciplina>)cache;
                }
            }
            else
            {
                bool controlarOrdem = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_ORDEM_DISCIPLINAS, ent_id);

                lista = (from dr in new ACA_TipoDisciplinaDAO().SelectBy_Pesquisa(0, 0, 0, true, controlarOrdem, false, 1, 1, out totalRecords).AsEnumerable()
                         select(sTipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoDisciplina())).ToList();
            }

            return(lista.Where(t => t.tds_tipo == tds_tipo).ToList());
        }
예제 #10
0
        public static List <sTipoPeriodoCalendario> SelecionaTipoPeriodoCalendario(int AppMinutosCacheLongo = 0, bool removerRecesso = true, Guid ent_id = new Guid())
        {
            List <sTipoPeriodoCalendario> lista = null;

            if (AppMinutosCacheLongo > 0 && HttpContext.Current != null)
            {
                string chave = "Cache_SelecionaTipoPeriodoCalendario";
                object cache = HttpContext.Current.Cache[chave];

                if (cache == null)
                {
                    lista = (from dr in new ACA_TipoPeriodoCalendarioDAO().SelectBy_Pesquisa(false, 1, 1, out totalRecords).AsEnumerable()
                             select(sTipoPeriodoCalendario) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoPeriodoCalendario())).ToList();

                    HttpContext.Current.Cache.Insert(chave, lista, null, DateTime.Now.AddMinutes(AppMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration);
                }
                else
                {
                    lista = (List <sTipoPeriodoCalendario>)cache;
                }
            }
            else
            {
                lista = (from dr in new ACA_TipoPeriodoCalendarioDAO().SelectBy_Pesquisa(false, 1, 1, out totalRecords).AsEnumerable()
                         select(sTipoPeriodoCalendario) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoPeriodoCalendario())).ToList();
            }

            if (removerRecesso && lista.Any())
            {
                return(lista.Where(p => p.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)).ToList());
            }

            return(lista);
        }
예제 #11
0
        /// <summary>
        /// Selecionas as faixas do relatorio.
        /// </summary>
        /// <param name="rlt_id">rlt_id.</param>
        /// <param name="appMinutosCacheLongo">Tempo de cache longo</param>
        /// <returns>descrição dos relátorios com suas respectivas faixas</returns>
        /// <datetime>24/09/2014-10:44</datetime>
        public static List <sFaixaRelatorioCor> SelecionaCoresRelatorio(int rlt_id, int appMinutosCacheLongo = 0)
        {
            List <sFaixaRelatorioCor> dados = null;

            if (appMinutosCacheLongo > 0 && HttpContext.Current != null)
            {
                string chave = string.Format("Cache_SelecionaCoresRelatorio_{0}", rlt_id.ToString());
                object cache = HttpContext.Current.Cache[chave];

                if (cache == null)
                {
                    dados = (from DataRow dr in new CFG_FaixaRelatorioDAO().SelecionaFaixasRelatorio(rlt_id).Rows
                             select(sFaixaRelatorioCor) GestaoEscolarUtilBO.DataRowToEntity(dr, new sFaixaRelatorioCor())).ToList();

                    // Adiciona cache com validade do tempo informado na configuração.
                    HttpContext.Current.Cache.Insert(chave, dados, null, DateTime.Now.AddMinutes(appMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration);
                }
                else
                {
                    dados = (List <sFaixaRelatorioCor>)cache;
                }
            }

            if (dados == null)
            {
                dados = (from DataRow dr in new CFG_FaixaRelatorioDAO().SelecionaFaixasRelatorio(rlt_id).Rows
                         select(sFaixaRelatorioCor) GestaoEscolarUtilBO.DataRowToEntity(dr, new sFaixaRelatorioCor())).ToList();
            }

            return(dados);
        }
예제 #12
0
 /// <summary>
 /// Busca as médias da turma salvas pra disicplina e período.
 /// </summary>
 /// <param name="tud_id">ID da disciplina</param>
 /// <param name="tpc_id">ID do período</param>
 /// <returns></returns>
 public static List <CLS_AlunoAvaliacaoTurmaDisciplinaMedia> BuscaNotasFinaisTud(long tud_id, int tpc_id, TalkDBTransaction banco)
 {
     return((new CLS_AlunoAvaliacaoTurmaDisciplinaMediaDAO {
         _Banco = banco
     }
             .BuscaNotasFinaisTud(tud_id, tpc_id)).Rows.Cast <DataRow>()
            .Select(p => (CLS_AlunoAvaliacaoTurmaDisciplinaMedia)GestaoEscolarUtilBO.DataRowToEntity(p, new CLS_AlunoAvaliacaoTurmaDisciplinaMedia())).ToList());
 }
예제 #13
0
        public static ACA_TipoDisciplina SelecionaTipoDisciplinaPorTudId(long tudId)
        {
            DataTable dt = new ACA_TipoDisciplinaDAO().SelecionaByTudId(tudId);

            if (dt.Rows.Count > 0)
            {
                return((ACA_TipoDisciplina)GestaoEscolarUtilBO.DataRowToEntity(dt.Rows[0], new ACA_TipoDisciplina()));
            }
            return(new ACA_TipoDisciplina());
        }
예제 #14
0
 /// <summary>
 /// Seleciona os tipos deficiência e seus detalhes por aluno.
 /// </summary>
 /// <param name="alu_id"></param>
 /// <returns></returns>
 public static List <sAlunoDeficiencia> SelecionaPorAluno(long alu_id)
 {
     return((from DataRow dr in new CLS_AlunoDeficienciaDetalheDAO().SelecionaPorAluno(alu_id).Rows
             group dr by new Guid(dr["tde_id"].ToString()) into grupo
             select new sAlunoDeficiencia
     {
         tde_id = grupo.Key,
         tde_nome = grupo.First()["tde_nome"].ToString(),
         lstDeficienciaDetalhe = grupo.Select(p => (sAlunoDeficienciaDetalhe)GestaoEscolarUtilBO.DataRowToEntity(p, new sAlunoDeficienciaDetalhe())).ToList()
     }).ToList());
 }
예제 #15
0
        /// <summary>
        /// Retorna as aulas que os alunos tiveram dentro do bimestre em matrículas diferentes das enviadas no filtro.
        /// </summary>
        /// <param name="tbAlunosPeriodos"></param>
        /// <returns></returns>
        public static List <sQuantidadeAulaFaltaAdicional> ConsultaPor_Por_DiferentesMatriculas_Periodo(List <sAlunosDisciplinasPeriodos> listaAlunosFiltro, TalkDBTransaction banco = null)
        {
            CLS_TurmaAulaAlunoDAO dao = banco == null ? new CLS_TurmaAulaAlunoDAO() : new CLS_TurmaAulaAlunoDAO {
                _Banco = banco
            };

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

            try
            {
                DataTable dt = MTR_MatriculaTurmaDisciplina.TipoTabela_MatriculaTurmaDisciplinaPeriodo();

                listaAlunosFiltro.ForEach(
                    p =>
                {
                    DataRow dr           = dt.NewRow();
                    dr["tud_id"]         = p.tud_id;
                    dr["alu_id"]         = p.alu_id;
                    dr["mtu_id"]         = p.mtu_id;
                    dr["mtd_id"]         = p.mtd_id;
                    dr["tpc_id"]         = p.tpc_id;
                    dr["tur_id"]         = p.tur_id;
                    dr["cap_dataInicio"] = p.cap_dataInicio;
                    dr["cap_dataFim"]    = p.cap_dataFim;
                    dt.Rows.Add(dr);
                }
                    );

                DataTable dtRet = dao.SelecionaPor_Por_DiferentesMatriculas_Periodo(dt);
                List <sQuantidadeAulaFaltaAdicional> ret = new List <sQuantidadeAulaFaltaAdicional>();
                foreach (DataRow dr in dtRet.Rows)
                {
                    ret.Add((sQuantidadeAulaFaltaAdicional)GestaoEscolarUtilBO.DataRowToEntity(dr, new sQuantidadeAulaFaltaAdicional()));
                }

                return(ret);
            }
            catch (Exception ex)
            {
                dao._Banco.Close(ex);
                throw;
            }
            finally
            {
                if (banco == null && dao._Banco.ConnectionIsOpen)
                {
                    dao._Banco.Close();
                }
            }
        }
예제 #16
0
        /// <summary>
        /// Retorna a ligação entre os territórios e experiências nas aulas criadas no período informado.
        /// </summary>
        /// <returns></returns>
        public static List <TurmaAulaTerritorioDados> SelecionaAulasTerritorioPorExperiencia
            (long tud_idExperiencia, DateTime dataInicial, DateTime dataFinal, TalkDBTransaction banco)
        {
            DataTable dt = new CLS_TurmaAulaTerritorioDAO()
            {
                _Banco = banco
            }.SelecionaAulasTerritorioPorExperiencia(tud_idExperiencia, dataInicial, dataFinal);

            return((from DataRow dr in dt.Rows
                    select(TurmaAulaTerritorioDados)
                    GestaoEscolarUtilBO.DataRowToEntity(dr, new TurmaAulaTerritorioDados())).ToList());
        }
예제 #17
0
        /// <summary>
        /// retorna a turma relacionada a disciplina
        /// </summary>
        /// <param name="tud_id"></param>
        /// <returns></returns>
        public static TUR_Turma SelecionarTurmaPorTurmaDisciplina(long tud_id)
        {
            TUR_TurmaRelTurmaDisciplinaDAO dao = new TUR_TurmaRelTurmaDisciplinaDAO();
            DataTable dt = dao.SelecionarTurmaPorTurmaDisciplina(tud_id);

            if (dt.Rows.Count > 0)
            {
                return((TUR_Turma)(from DataRow dr in dt.Rows
                                   select GestaoEscolarUtilBO.DataRowToEntity(dr, new TUR_Turma())).ToList().FirstOrDefault());
            }

            return(null);
        }
예제 #18
0
        /// <summary>
        /// Retorna as configurações de serviço de pendência não excluídas logicamente, de acordo com tipo de nível de ensino,
        /// tipo de modalidade de ensino e tipo de turma.
        /// </summary>
        /// <param name="tne_id">Id do tipo de nível de ensino</param>
        /// <param name="tme_id">Id do tipo de modalidade de ensino</param>
        /// <param name="tur_tipo">Enum do tipo de turma</param>
        public static List <ACA_ConfiguracaoServicoPendencia> SelectTodasBy_tne_id_tme_id_tur_tipo
        (
            int tne_id
            , int tme_id
            , int tur_tipo
        )
        {
            ACA_ConfiguracaoServicoPendenciaDAO dao = new ACA_ConfiguracaoServicoPendenciaDAO();
            DataTable dt = dao.SelectTodasBy_tne_id_tme_id_tur_tipo(tne_id, tme_id, tur_tipo, false, 1, 0, out totalRecords);

            return((from DataRow dr in dt.Rows
                    select(ACA_ConfiguracaoServicoPendencia) GestaoEscolarUtilBO.DataRowToEntity(dr, new ACA_ConfiguracaoServicoPendencia())).ToList());
        }
예제 #19
0
        public static List <Cache_EventosEfetivacao> GetEntity_Eventos_Efetivacao
        (
            string chavesEventos
        )
        {
            try
            {
                if (HttpContext.Current != null)
                {
                    // Chave padrão do cache - nome do método + parâmetros.
                    string chave = RetornaChaveCache_Select_Efetivacao(chavesEventos);
                    object cache = HttpContext.Current.Cache[chave];
                    List <Cache_EventosEfetivacao> lista;

                    if (cache == null)
                    {
                        // Cache_EventosEfetivacao
                        DataTable dt = new ACA_TipoEventoDAO().SelectBy_EventosEfetivacao(chavesEventos);

                        lista = (from DataRow dr in dt.Rows
                                 select(Cache_EventosEfetivacao)
                                 GestaoEscolarUtilBO.DataRowToEntity(dr, new Cache_EventosEfetivacao())
                                 ).ToList();

                        // Adiciona cache com validade de 6h.
                        HttpContext.Current.Cache.Insert(chave, lista, null, DateTime.Now.AddMinutes(GestaoEscolarUtilBO.MinutosCacheMedio)
                                                         , System.Web.Caching.Cache.NoSlidingExpiration);
                    }
                    else
                    {
                        lista = (List <Cache_EventosEfetivacao>)cache;
                    }

                    return(lista);
                }
                else
                {
                    ACA_TipoEventoDAO dao = new ACA_TipoEventoDAO();
                    DataTable         dt  = dao.SelectBy_EventosEfetivacao(chavesEventos);
                    return((from DataRow dr in dt.Rows
                            select(Cache_EventosEfetivacao)
                            GestaoEscolarUtilBO.DataRowToEntity(dr, new Cache_EventosEfetivacao())
                            ).ToList());
                }
            }
            catch
            {
                throw;
            }
        }
예제 #20
0
        /// <summary>
        /// Retorna todas as sondagens ativas.
        /// </summary>
        /// <returns></returns>
        public static List <ACA_Sondagem> SelecionaSondagemAtiva()
        {
            ACA_SondagemDAO dao = new ACA_SondagemDAO();

            DataTable dtSondagem = dao.SelectBy_Ativas();

            List <ACA_Sondagem> retorno = new List <ACA_Sondagem>();

            if (dtSondagem.Rows.Count > 0)
            {
                retorno = dtSondagem.Rows.Cast <DataRow>().Select(p => (ACA_Sondagem)GestaoEscolarUtilBO.DataRowToEntity(p, new ACA_Sondagem())).ToList();
            }
            return(retorno);
        }
        /// <summary>
        /// Seleciona os dados de observaçao por aluno.
        /// </summary>
        /// <param name="alu_id">Id do aluno.</param>
        /// <param name="mtu_id">Id da matrícula do aluno na turma.</param>
        /// <param name="tur_id">Id da turma.</param>
        /// <param name="tev_idFechamento">Id do tipo de evento do fechamento do bimestre.</param>
        /// <returns>CLS_AlunoAvaliacaoTurmaObservacao.</returns>
        public static List <CLS_AlunoAvaliacaoTurmaObservacao> SelecionaListaPorAluno(long alu_id, int mtu_id, long tur_id, int tev_idFechamento, bool documentoOficial)
        {
            CLS_AlunoAvaliacaoTurmaDisciplinaObservacaoDAO dao = new CLS_AlunoAvaliacaoTurmaDisciplinaObservacaoDAO();
            DataTable dtRet = dao.SelecionarPorAluno(alu_id, mtu_id, tur_id, tev_idFechamento, documentoOficial);

            List <CLS_AlunoAvaliacaoTurmaObservacao> result = new List <CLS_AlunoAvaliacaoTurmaObservacao>();

            foreach (DataRow dr in dtRet.Rows)
            {
                result.Add((CLS_AlunoAvaliacaoTurmaObservacao)GestaoEscolarUtilBO.DataRowToEntity(dr, new CLS_AlunoAvaliacaoTurmaObservacao()));
            }

            return(result);
        }
예제 #22
0
        /// <summary>
        /// Seleciona a lista de objetos por turma disciplina
        /// </summary>
        /// <param name="tud_id">ID da turma disciplina</param>
        /// <param name="cal_id">Ano letivo</param>
        /// <param name="banco">Transação de banco</param>
        /// <returns></returns>
        public static List <Struct_ObjetosAprendizagem> SelectListaBy_TurmaDisciplina(long tud_id, int cal_id, TalkDBTransaction banco = null)
        {
            ACA_ObjetoAprendizagemDAO dao = new ACA_ObjetoAprendizagemDAO();

            if (banco != null)
            {
                dao._Banco = banco;
            }

            totalRecords = 0;
            List <Struct_ObjetosAprendizagem> dados = null;

            dados = (from DataRow dr in dao.SelectListaBy_TurmaDisciplina(tud_id, cal_id, out totalRecords).Rows
                     select(Struct_ObjetosAprendizagem) GestaoEscolarUtilBO.DataRowToEntity(dr, new Struct_ObjetosAprendizagem())).ToList();

            return(dados);
        }
예제 #23
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="cur_id"></param>
        /// <param name="crr_id"></param>
        /// <param name="crp_id"></param>
        /// <param name="esc_id"></param>
        /// <param name="uni_id"></param>
        /// <param name="cal_id"></param>
        /// <param name="cap_id"></param>
        /// <returns></returns>
        public static List <sTipoDisciplina> SelecionaTipoDisciplinaPorCursoCurriculoPeriodoEscola
        (
            int cur_id
            , int crr_id
            , int crp_id
            , int esc_id
            , int uni_id
            , int cal_id
            , int cap_id
            , int AppMinutosCacheLongo = 0
        )
        {
            List <sTipoDisciplina> lista = null;

            if (AppMinutosCacheLongo > 0 && HttpContext.Current != null)
            {
                string chave = String.Format("Cache_SelecionaTipoDisciplinaPorCursoCurriculoPeriodoEscola_{0}_{1}_{2}_{3}_{4}_{5}_{6}"
                                             , cur_id
                                             , crr_id
                                             , crp_id
                                             , esc_id
                                             , uni_id
                                             , cal_id
                                             , cap_id);
                object cache = HttpContext.Current.Cache[chave];

                if (cache == null)
                {
                    lista = (from dr in new ACA_CurriculoDisciplinaDAO().SelectBy_cur_id_crr_id_crp_id_esc_id_uni_id(cur_id, crr_id, crp_id, esc_id, uni_id, cal_id, cap_id, false, 1, 1, out totalRecords).AsEnumerable()
                             select(sTipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoDisciplina())).ToList();

                    HttpContext.Current.Cache.Insert(chave, lista, null, DateTime.Now.AddMinutes(AppMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration);
                }
                else
                {
                    lista = (List <sTipoDisciplina>)cache;
                }
            }
            else
            {
                lista = (from dr in new ACA_CurriculoDisciplinaDAO().SelectBy_cur_id_crr_id_crp_id_esc_id_uni_id(cur_id, crr_id, crp_id, esc_id, uni_id, cal_id, cap_id, false, 1, 1, out totalRecords).AsEnumerable()
                         select(sTipoDisciplina) GestaoEscolarUtilBO.DataRowToEntity(dr, new sTipoDisciplina())).ToList();
            }

            return(lista);
        }
예제 #24
0
        public static List <TUR_TurmaHorarioDTO> SelecionarTurmaHorario()
        {
            List <TUR_TurmaHorarioDTO> lista = new List <TUR_TurmaHorarioDTO>();

            try
            {
                TUR_TurmaHorarioDAO dao = new TUR_TurmaHorarioDAO();

                lista = (from dr in dao.Seleciona().AsEnumerable()
                         select(TUR_TurmaHorarioDTO) GestaoEscolarUtilBO.DataRowToEntity(dr, new TUR_TurmaHorarioDTO())).ToList();
            }
            catch
            {
                throw;
            }

            return(lista);
        }
예제 #25
0
        public static DatasPeriodosCalendario SelecionaDatasCalendario(int cal_id, int tpc_id, TalkDBTransaction banco)
        {
            DatasPeriodosCalendario  ret = new DatasPeriodosCalendario();
            ACA_CalendarioPeriodoDAO dao = new ACA_CalendarioPeriodoDAO();

            if (banco != null)
            {
                dao._Banco = banco;
            }

            DataTable dt = dao.SelecionaDatasCalendario(cal_id, tpc_id);

            if (dt.Rows.Count > 0)
            {
                ret = (DatasPeriodosCalendario)GestaoEscolarUtilBO.DataRowToEntity(dt.Rows[0], new DatasPeriodosCalendario());
            }

            return(ret);
        }
예제 #26
0
        /// <summary>
        /// Retorna o período do calendário.
        /// </summary>
        /// <param name="cal_id">ID do calendário</param>
        /// <param name="AppMinutosCacheLongo">Quantidade de minutos da configuração de cache longo</param>
        /// <returns>List<Struct_CalendarioPeriodos></returns>
        public static List <Struct_CalendarioPeriodos> SelecionaPor_Calendario
        (
            int cal_id
            , int AppMinutosCacheLongo = 0
            , bool removerRecesso      = true
            , Guid ent_id = new Guid()
        )
        {
            List <Struct_CalendarioPeriodos> dados = null;

            if (AppMinutosCacheLongo > 0)
            {
                string chave = RetornaChaveCache_PeriodosCalendario(cal_id);
                dados = CacheManager.Factory.Get
                        (
                    chave,
                    () =>
                {
                    return((from DataRow dr in new ACA_CalendarioPeriodoDAO().SelectBy_Calendario(cal_id).Rows
                            select(Struct_CalendarioPeriodos) GestaoEscolarUtilBO.DataRowToEntity(dr, new Struct_CalendarioPeriodos())).ToList());
                },
                    AppMinutosCacheLongo
                        );
            }
            else
            {
                dados = (from DataRow dr in new ACA_CalendarioPeriodoDAO().SelectBy_Calendario(cal_id).Rows
                         select(Struct_CalendarioPeriodos) GestaoEscolarUtilBO.DataRowToEntity(dr, new Struct_CalendarioPeriodos())).ToList();
            }

            if (removerRecesso && dados.Any())
            {
                return(dados.Where(p => p.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)).ToList());
            }

            return(dados);
        }
예제 #27
0
        /// <summary>
        /// Seleciona as disciplinas das grades curriculares
        /// </summary>
        /// <param name="listaCurriculoPeriodo"></param>
        /// <param name="banco"></param>
        /// <returns></returns>
        public static List <ACA_CurriculoDisciplina_DisciplinasBase> SelecionaPorGradesCurriculares(List <ACA_CurriculoPeriodo> listaCurriculoPeriodo, TalkDBTransaction banco = null)
        {
            ACA_CurriculoDisciplinaDAO dao = banco == null ?
                                             new ACA_CurriculoDisciplinaDAO() : new ACA_CurriculoDisciplinaDAO {
                _Banco = banco
            };

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

            try
            {
                List <ACA_CurriculoDisciplina_DisciplinasBase> dados = new List <ACA_CurriculoDisciplina_DisciplinasBase>();

                using (DataTable dtCurriculoPeriodo = ACA_CurriculoPeriodo.TipoTabela_CurriculoPeriodo())
                {
                    listaCurriculoPeriodo.ForEach(p => dtCurriculoPeriodo.Rows.Add(p.EntityToDataRow_TipoTabela_CurriculoPeriodo(dtCurriculoPeriodo)));

                    using (DataTable dtDados = dao.SelecionaPorGradesCurriculares(dtCurriculoPeriodo))
                    {
                        dados = (from DataRow dr in dtDados.Select()
                                 group dr by new
                        {
                            cur_id = Convert.ToInt32(dr["cur_id"])
                            ,
                            crr_id = Convert.ToInt32(dr["crr_id"])
                            ,
                            crp_id = Convert.ToInt32(dr["crp_id"])
                            ,
                            tds_base = Convert.ToByte(dr["tds_base"])
                        } into grupo
                                 select new ACA_CurriculoDisciplina_DisciplinasBase
                        {
                            cur_id = grupo.Key.cur_id
                            ,
                            crr_id = grupo.Key.crr_id
                            ,
                            crp_id = grupo.Key.crp_id
                            ,
                            tds_base = grupo.Key.tds_base
                            ,
                            listaDisciplina = grupo.Select(p => (ACA_Disciplina)GestaoEscolarUtilBO.DataRowToEntity(p, new ACA_Disciplina())).ToList()
                        }).ToList();
                    }
                }

                return(dados);
            }
            catch (Exception ex)
            {
                if (banco == null)
                {
                    dao._Banco.Close(ex);
                }
                throw;
            }
            finally
            {
                if (banco == null && dao._Banco.ConnectionIsOpen)
                {
                    dao._Banco.Close();
                }
            }
        }
예제 #28
0
        /// <summary>
        /// Seleciona as pendências de plano de aula das disciplinas.
        /// </summary>
        /// <param name="listaTurmaDisciplina">lista de turmas disciplinas</param>
        /// <returns></returns>
        public static List <REL_TurmaDisciplinaSituacaoFechamento_Pendencia> SelecionaPendencias(List <sTurmaDisciplinaEscolaCalendario> listaTurmaDisciplina)
        {
            List <REL_TurmaDisciplinaSituacaoFechamento_Pendencia> dados = new List <REL_TurmaDisciplinaSituacaoFechamento_Pendencia>();

            if (listaTurmaDisciplina.Any())
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("tud_id", typeof(Int64));

                listaTurmaDisciplina.ForEach
                (
                    p =>
                {
                    DataRow dr   = dt.NewRow();
                    dr["tud_id"] = p.tud_id;
                    if (!dt.AsEnumerable().Any(d => Convert.ToInt64(d["tud_id"]) == p.tud_id))
                    {
                        dt.Rows.Add(dr);
                    }
                }
                );

                DataTable dtPendencias = new CLS_TurmaAulaPendenciaDAO().SelecionaPendencias(dt);
                dados = dtPendencias.Rows.Cast <DataRow>().Select(p => (REL_TurmaDisciplinaSituacaoFechamento_Pendencia)GestaoEscolarUtilBO.DataRowToEntity(p, new REL_TurmaDisciplinaSituacaoFechamento_Pendencia())).ToList();
            }
            return(dados);
        }
        /// <summary>
        /// Seleciona as pendências das disciplinas.
        /// </summary>
        /// <param name="listaTurmaDisciplina">lista de turmas disciplinas</param>
        /// <param name="tev_EfetivacaoNotas">Tipo de evento de efetivação de notas.</param>
        /// <returns></returns>
        public static List <REL_TurmaDisciplinaSituacaoFechamento_Pendencia> SelecionaPendencias(List <sTurmaDisciplinaEscolaCalendario> listaTurmaDisciplina, Guid ent_id, int appMinutosCacheLongo = 0)
        {
            List <REL_TurmaDisciplinaSituacaoFechamento_Pendencia> dados = new List <REL_TurmaDisciplinaSituacaoFechamento_Pendencia>();

            DataTable dt = new DataTable();

            dt.Columns.Add("tud_id", typeof(Int64));

            if (listaTurmaDisciplina.Any())
            {
                if (appMinutosCacheLongo > 0)
                {
                    var listaCache = from sTurmaDisciplinaEscolaCalendario tud in listaTurmaDisciplina
                                     select new
                    {
                        tud_id = tud.tud_id
                        ,
                        tud_tipo = tud.tud_tipo
                        ,
                        esc_id = tud.esc_id
                        ,
                        uni_id = tud.uni_id
                        ,
                        cal_ano = tud.cal_ano
                        ,
                        cacheIsSet = CacheManager.Factory.IsSet(String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, tud.esc_id, tud.uni_id, tud.cal_ano, tud.tud_id))
                    };

                    listaCache.Where(p => !p.cacheIsSet).ToList().ForEach
                    (
                        p =>
                    {
                        DataRow dr   = dt.NewRow();
                        dr["tud_id"] = p.tud_id;
                        if (!dt.AsEnumerable().Any(d => Convert.ToInt64(d["tud_id"]) == p.tud_id))
                        {
                            dt.Rows.Add(dr);
                        }
                    }
                    );

                    if (dt.Rows.Count > 0)
                    {
                        DataTable dtPendencias = new REL_TurmaDisciplinaSituacaoFechamentoDAO().SelecionaPendencias(dt, ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, ent_id));
                        dados = dtPendencias.Rows.Cast <DataRow>().Select(p => (REL_TurmaDisciplinaSituacaoFechamento_Pendencia)GestaoEscolarUtilBO.DataRowToEntity(p, new REL_TurmaDisciplinaSituacaoFechamento_Pendencia())).ToList();

                        var dadosDisciplina = from REL_TurmaDisciplinaSituacaoFechamento_Pendencia pend in dados
                                              where pend.tud_tipo != (byte)TurmaDisciplinaTipo.ComponenteRegencia
                                              group pend by pend.tud_id into grupo
                                              select new
                        {
                            tud_id = grupo.Key
                            ,
                            listaPendencias = grupo.ToList()
                        };

                        dadosDisciplina.ToList()
                        .ForEach
                        (
                            p =>
                        {
                            sTurmaDisciplinaEscolaCalendario turmaDisciplina = listaTurmaDisciplina.FirstOrDefault(t => t.tud_id == p.tud_id);
                            CacheManager.Factory.Set
                            (
                                String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, turmaDisciplina.esc_id, turmaDisciplina.uni_id, turmaDisciplina.cal_ano, turmaDisciplina.tud_id)
                                ,
                                p.listaPendencias
                                ,
                                appMinutosCacheLongo
                            );
                        }
                        );

                        var dadosRegencia = from REL_TurmaDisciplinaSituacaoFechamento_Pendencia pend in dados
                                            where pend.tud_tipo == (byte)TurmaDisciplinaTipo.ComponenteRegencia
                                            group pend by pend.tud_idRegencia into grupo
                                            select new
                        {
                            tud_idRegencia = grupo.Key
                            ,
                            listaComponentes = grupo.ToList()
                        };

                        dadosRegencia.ToList()
                        .ForEach
                        (
                            p =>
                        {
                            sTurmaDisciplinaEscolaCalendario turmaDisciplina = listaTurmaDisciplina.FirstOrDefault(t => t.tud_id == p.tud_idRegencia);
                            CacheManager.Factory.Set
                            (
                                String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, turmaDisciplina.esc_id, turmaDisciplina.uni_id, turmaDisciplina.cal_ano, turmaDisciplina.tud_id)
                                ,
                                p.listaComponentes
                                ,
                                appMinutosCacheLongo
                            );
                        }
                        );
                    }

                    dados.AddRange
                    (
                        listaCache.Where(p => p.cacheIsSet).SelectMany(p => CacheManager.Factory.Get <List <REL_TurmaDisciplinaSituacaoFechamento_Pendencia> >(String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, p.esc_id, p.uni_id, p.cal_ano, p.tud_id)))
                    );
                }
                else
                {
                    listaTurmaDisciplina.ForEach
                    (
                        p =>
                    {
                        DataRow dr   = dt.NewRow();
                        dr["tud_id"] = p.tud_id;
                        if (!dt.AsEnumerable().Any(d => Convert.ToInt64(d["tud_id"]) == p.tud_id))
                        {
                            dt.Rows.Add(dr);
                        }
                    }
                    );

                    DataTable dtPendencias = new REL_TurmaDisciplinaSituacaoFechamentoDAO().SelecionaPendencias(dt, ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, ent_id));
                    dados = dtPendencias.Rows.Cast <DataRow>().Select(p => (REL_TurmaDisciplinaSituacaoFechamento_Pendencia)GestaoEscolarUtilBO.DataRowToEntity(p, new REL_TurmaDisciplinaSituacaoFechamento_Pendencia())).ToList();
                }

                if (appMinutosCacheLongo > 0)
                {
                    dt.Clear();
                    listaTurmaDisciplina.ForEach
                    (
                        p =>
                    {
                        DataRow dr   = dt.NewRow();
                        dr["tud_id"] = p.tud_id;
                        if (!dt.AsEnumerable().Any(d => Convert.ToInt64(d["tud_id"]) == p.tud_id))
                        {
                            dt.Rows.Add(dr);
                        }
                    }
                    );
                }

                // Adiciona a pendência do plano de aula separado, porque ela aparece de acordo com a data atual,
                // então não fica em cache.
                DataTable dtPendenciasPlanoAula = new CLS_TurmaAulaPendenciaDAO().SelecionaPendencias(dt);
                dados.AddRange(dtPendenciasPlanoAula.Rows.Cast <DataRow>().Select(p => (REL_TurmaDisciplinaSituacaoFechamento_Pendencia)GestaoEscolarUtilBO.DataRowToEntity(p, new REL_TurmaDisciplinaSituacaoFechamento_Pendencia())).ToList());
            }

            return(dados);
        }
예제 #30
0
        public static List <ACA_Sondagem_Lancamento> SelecionaSondagemLancamentoTurma
        (
            int snd_id
            , int sda_id
            , long tur_id
        )
        {
            List <ACA_Sondagem_Lancamento> retorno = new List <ACA_Sondagem_Lancamento>();
            DataTable dtLancamento = new ACA_SondagemDAO().SelectBy_LancamentoTurma(snd_id, sda_id, tur_id);

            if (dtLancamento.Rows.Count > 0)
            {
                retorno = dtLancamento.Rows.Cast <DataRow>().Select(p => (ACA_Sondagem_Lancamento)GestaoEscolarUtilBO.DataRowToEntity(p, new ACA_Sondagem_Lancamento())).ToList();
            }
            return(retorno);
        }