Beispiel #1
0
    /// <summary>
    /// Verifica se a data esta dentro de um evento de atividade diversificada
    /// </summary>
    /// <param name="dia">Dia do ano</param>
    /// <returns>Verdadeiro se ele pertencer a um evento de atividade diversificada.</returns>
    private bool DiaAtividadeDiversificada(DateTime dia)
    {
        int parametroAtivDiversificada = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(
            eChaveAcademico.TIPO_EVENTO_ATIVIDADE_DIVERSIFICADA
            , __SessionWEB.__UsuarioWEB.Usuario.ent_id);

        // altera a cor da célula referente a data de cada evento
        DateTime dateAux;

        return((
                   from DataRow row in Eventos.Rows
                   where
                   DateTime.TryParse(row["evt_dataInicio"].ToString(), out dateAux) &&
                   DateTime.TryParse(row["evt_dataFim"].ToString(), out dateAux) &&
                   DateTime.Parse(row["evt_dataInicio"].ToString()) <= dia &&
                   dia <= DateTime.Parse(row["evt_dataFim"].ToString())
                   //Possui atividade discente
                   && !bool.Parse(row["evt_semAtividadeDiscente"].ToString())
                   //For atividade diversificada
                   && Convert.ToInt32(row["tev_id"]) == parametroAtivDiversificada
                   select new
        {
            evt_dataInicio = DateTime.Parse(row["evt_dataInicio"].ToString()),
            evt_dataFim = DateTime.Parse(row["evt_dataFim"].ToString()),
            esc_nome = row["esc_nome"].ToString()
        }
                   ).Any());
    }
Beispiel #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            UCCCursoCurriculo.IndexChanged   += UCCCursoCurriculo_IndexChanged;
            UCCCalendario.IndexChanged       += UCCCalendario_IndexChanged;
            UCCCurriculoPeriodo.IndexChanged += UCCCurriculoPeriodo_IndexChanged;

            try
            {
                ScriptManager sm = ScriptManager.GetCurrent(this);
                if (sm != null)
                {
                    sm.Scripts.Add(new ScriptReference(ArquivoJS.JQueryValidation));
                    sm.Scripts.Add(new ScriptReference(ArquivoJS.JqueryMask));
                    sm.Scripts.Add(new ScriptReference(ArquivoJS.MascarasCampos));
                }

                if (!IsPostBack)
                {
                    string msg = __SessionWEB.PostMessages;
                    if (!string.IsNullOrEmpty(msg))
                    {
                        lblMensagem.Text = msg;
                    }

                    UCCCursoCurriculo.CarregarPorModalidadeEnsino(ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_MODALIDADE_CIEJA, Ent_ID_UsuarioLogado));
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
            }
        }
        public static DataTable SelectByPesquisaFiltroDeficiencia(Guid uad_idSuperior, int esc_id, int uni_id, int cur_id, int crr_id, int cap_id, long tud_id, Guid gru_id, Guid usu_id, bool adm, long tur_id, EnumTipoDocente tipoDocente, Guid ent_id)
        {
            // Tipo de evento de efetivação de notas, configurado nos parâmetros.
            int tev_idEfetivacao = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, ent_id);

            return(new CLS_CompensacaoAusenciaDAO().SelectByPesquisaFiltroDeficiencia(uad_idSuperior, esc_id, uni_id, cur_id, crr_id, cap_id, tud_id, gru_id, usu_id, adm, tur_id, tev_idEfetivacao, (byte)tipoDocente, out totalRecords));
        }
Beispiel #4
0
        /// <summary>
        /// O método gera o relatório de alunos abaixo da frequência
        /// </summary>
        private void GerarRelatorio()
        {
            string report, parametros;

            report     = ((int)ReportNameGestaoAcademicaDocumentosDocente.DocDctAlunosPendenciaEfetivacao).ToString();
            parametros = "uad_idSuperiorGestao=" + UCBuscaDocenteTurma.ComboEscola.Uad_ID +
                         "&esc_id=" + UCBuscaDocenteTurma.ComboEscola.Esc_ID +
                         "&uni_id=" + UCBuscaDocenteTurma.ComboEscola.Uni_ID +
                         "&cal_id=" + UCBuscaDocenteTurma.ComboCalendario.Valor +
                         "&cal_ano=" + UCBuscaDocenteTurma.ComboCalendario.Cal_ano.ToString() +
                         "&cur_id=" + UCBuscaDocenteTurma.ComboCursoCurriculo.Valor[0] +
                         "&crr_id=" + UCBuscaDocenteTurma.ComboCursoCurriculo.Valor[1] +
                         "&crp_id=" + UCBuscaDocenteTurma.ComboCurriculoPeriodo.Valor[2] +
                         "&tur_id=" + UCBuscaDocenteTurma.ComboTurma.Valor[0] +
                         "&ent_id=" + __SessionWEB.__UsuarioWEB.Usuario.ent_id +
                         "&doc_id=" + __SessionWEB.__UsuarioWEB.Docente.doc_id +
                         "&tud_ids=" + "" +
                         "&tev_EfetivacaoNotas=" + ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id) +
                         "&tev_EfetivacaoFinal=" + ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id) +
                         "&nomeParecerConclusivo=" + GetGlobalResourceObject("Mensagens", "MSG_RESULTADOEFETIVACAO") +
                         "&nomePeriodoCalendario=" + GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id) +
                         "&nomeComponenteCurricular=" + GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") +
                         "&mostraCodigoEscola=" + ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) +
                         "&nomeMunicipio=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Municipio") +
                         "&nomeSecretaria=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Secretaria") +
                         "&logo=" + String.Concat(MSTech.GestaoEscolar.BLL.CFG_ServidorRelatorioBO.CarregarServidorRelatorioPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo).srr_pastaRelatorios.ToString()
                                                  , ApplicationWEB.LogoRelatorioSSRS);

            CFG_RelatorioBO.CallReport("Relatorios", report, parametros, HttpContext.Current);
        }
        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);
        }
Beispiel #6
0
        /// <summary>
        /// Carrega todos os tipos de período calendário não excluídos logicamente
        /// filtrando por calendário
        /// </summary>
        /// <param name="cal_id">ID do calendário</param>
        public void CarregarPorCalendario(int cal_id, bool adicionarRecesso = false)
        {
            sTipoPeriodoCalendario sTpc = new sTipoPeriodoCalendario();

            ddlCombo.DataTextField = "cap_descricao";
            List <sTipoPeriodoCalendario> dt = ACA_TipoPeriodoCalendarioBO.SelecionaTipoPeriodoCalendarioPorCalendario(cal_id, ApplicationWEB.AppMinutosCacheLongo);

            if (adicionarRecesso)
            {
                int tpc_id = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                if (tpc_id > 0)
                {
                    ACA_TipoPeriodoCalendario tpc = new ACA_TipoPeriodoCalendario {
                        tpc_id = tpc_id
                    };
                    ACA_TipoPeriodoCalendarioBO.GetEntity(tpc);
                    sTpc.tpc_id     = tpc_id;
                    sTpc.tpc_nome   = sTpc.cap_descricao = tpc.tpc_nome;
                    sTpc.tpc_cap_id = string.Format("{0};-1", tpc_id);

                    dt.Add(sTpc);
                }
            }
            CarregarCombo(dt);
            CarregarPeriodoAtual(dt, SelecionaPeriodoAtualAoCarregar);

            if (sTpc.tpc_id > 0)
            {
                dt.Remove(sTpc);
            }
        }
Beispiel #7
0
    /// <summary>
    /// Carrega o repeater com a quantidade de docentes definida no parâmetro acadêmico,
    /// com o controle de vigência de cada um deles.
    /// </summary>
    /// <param name="Row">Linha do grid de disciplinas</param>
    /// <param name="tud_id">Id da disciplina</param>
    /// <param name="tds_id">Id do tipo de disciplina para carregar o docente por especialidade</param>
    private void CarregarControleDocentes(GridViewRow Row, long tud_id, int tds_id)
    {
        int qtdeDocentes = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.QUANTIDADE_DOCENTES_VIGENTES_DISCIPLINA, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

        DataTable dtDocentes = new DataTable();

        dtDocentes.Columns.Add("posicao");
        dtDocentes.Columns.Add("tud_id");
        dtDocentes.Columns.Add("qtdedocentes");
        dtDocentes.Columns.Add("tds_id");

        for (int i = 1; i <= qtdeDocentes; i++)
        {
            EnumTipoDocente tipoDocente = ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao((byte)i, ApplicationWEB.AppMinutosCacheLongo);
            if (!aplicarNovaRegraDocenciaCompartilhada ||
                (tipoDocente != EnumTipoDocente.Compartilhado && tipoDocente != EnumTipoDocente.Projeto))
            {
                DataRow dr = dtDocentes.NewRow();
                dr["posicao"]      = i;
                dr["tud_id"]       = tud_id;
                dr["qtdedocentes"] = qtdeDocentes;
                dr["tds_id"]       = tds_id;
                dtDocentes.Rows.Add(dr);
            }
        }

        Repeater rptDocentes = (Repeater)Row.FindControl("rptDocentes");

        if (rptDocentes != null)
        {
            rptDocentes.DataSource = dtDocentes;
            rptDocentes.DataBind();
        }
    }
Beispiel #8
0
        public static DataTable SelecionaTipoNivelEnsinoSemInfantil(Guid ent_id)
        {
            int       tne_idInfantil = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_NIVEL_ENSINO_EDUCACAO_INFANTIL, ent_id);
            DataTable dt             = SelecionaTipoNivelEnsino();

            if (dt.Select(string.Format("tne_id <> {0}", tne_idInfantil)).Length > 0)
            {
                return(dt.Select(string.Format("tne_id <> {0}", tne_idInfantil)).CopyToDataTable());
            }
            return(new DataTable());
        }
Beispiel #9
0
        public static DataTable SelecionaTipoNivelEnsinoDocenteEventoSemInfantil(long doc_id, string eventosAbertos, Guid ent_id)
        {
            int       tne_idInfantil = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_NIVEL_ENSINO_EDUCACAO_INFANTIL, ent_id);
            DataTable dt             = new ACA_TipoNivelEnsinoDAO().SelecionaTipoNivelEnsinoDocenteEvento(doc_id, eventosAbertos, 0);

            if (dt.Select(string.Format("tne_id <> {0}", tne_idInfantil)).Length > 0)
            {
                return(dt.Select(string.Format("tne_id <> {0}", tne_idInfantil)).CopyToDataTable());
            }
            return(new DataTable());
        }
Beispiel #10
0
        /// <summary>
        /// Verifica se o período está fechado para o fechamento de bimestre.
        /// </summary>
        /// <returns></returns>
        private bool VerificaPeriodoFechado(int cal_id, int tpc_id, int esc_id, int uni_id)
        {
            ACA_CalendarioPeriodo entityCap = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario_TipoPeriodo(cal_id, tpc_id, ApplicationWEB.AppMinutosCacheLongo);
            List <ACA_Evento>     ltEventos = ACA_EventoBO.SelecionaEventosEfetivacaoPeriodoCalendario(cal_id, entityCap.cap_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, esc_id, uni_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            DateTime dataAtual = DateTime.Now;

            int tev_EfetivacaoNotas = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            return((dataAtual > entityCap.cap_dataFim && dataAtual < entityCap.cap_dataInicio) ||
                   (!ltEventos.Exists(p => p.tpc_id == tpc_id && p.tev_id == tev_EfetivacaoNotas)));
        }
Beispiel #11
0
        /// <summary>
        /// Busca se o calendario tem algum evento do tipo determinado
        /// vigente no momento da consulta
        /// </summary>
        /// <param name="cal_id">ID do calendário</param>
        /// <param name="dataVigencia">Data da consulta</param>
        /// <param name="ent_id">Id da entidade do usuário logado.</param>
        /// <returns>Datatable com tpc_id encontrado</returns>
        public static DataTable GetTipoCalendario(int cal_id, DateTime dataVigencia, Guid ent_id)
        {
            totalRecords = 0;
            // Validar parâmetro necessário para a busca.
            int valor = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO, ent_id);

            ACA_CalendarioEventoDAO daoEvento = new ACA_CalendarioEventoDAO();

            if (valor <= 0)
            {
                return(new DataTable());
            }
            return(daoEvento.Select_TipoEvento(cal_id, valor, dataVigencia));
        }
        public new static bool Delete(CLS_CompensacaoAusencia entity)
        {
            CLS_CompensacaoAusenciaDAO dao = new CLS_CompensacaoAusenciaDAO();

            dao._Banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                ACA_FormatoAvaliacao formatoAvaliacao = ACA_FormatoAvaliacaoBO.CarregarPorTud(entity.tud_id);
                // Caso o fechamento seja automático, grava na fila de processamento.
                if (formatoAvaliacao.fav_fechamentoAutomatico && entity.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, new Guid()))
                {
                    CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(entity.tud_id, entity.tpc_id, dao._Banco);
                }

                CLS_CompensacaoAusenciaAlunoDAO daoAluno = new CLS_CompensacaoAusenciaAlunoDAO {
                    _Banco = dao._Banco
                };

                List <CLS_CompensacaoAusenciaAluno> listaBanco = daoAluno.SelectByCpa_id(entity.cpa_id, entity.tud_id);

                foreach (CLS_CompensacaoAusenciaAluno item in listaBanco)
                {
                    if (!daoAluno.Delete(item))
                    {
                        throw new Exception("Erro ao tentar excluir compensação de ausência do aluno.");
                    }
                }

                // Exclui CLS_CompensacaoAusencia
                if (!dao.Delete(entity))
                {
                    throw new Exception("Erro ao tentar excluir compensação de ausência.");
                }

                return(true);
            }
            catch (Exception err)
            {
                dao._Banco.Close(err);

                throw err;
            }
            finally
            {
                //Fechamento da transação
                dao._Banco.Close();
            }
        }
Beispiel #13
0
        /// <summary>
        /// Carrega os campos de busca com a configuração padrão para uma nova busca para visão individual
        /// </summary>
        /// <param name="esc_id">Id da escola</param>
        private void InicializaCamposBuscaVisaoIndividual(int esc_id)
        {
            //Carrega os campos
            int posicaoDocenteCompatilhado = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.POSICAO_DOCENCIA_COMPARTILHADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            ddlTurma.Items.Clear();
            ddlTurma.DataTextField = "tur_esc_nome";

            ddlTurma.Items.Insert(0, new ListItem("-- Selecione uma turma --", "-1", true));

            ddlTurma.DataSource = TUR_TurmaBO.GetSelectBy_Docente_TodosTipos_Posicao(__SessionWEB.__UsuarioWEB.Usuario.ent_id, _VS_doc_id, posicaoDocenteCompatilhado, esc_id, UCComboCalendario.Valor, false, false, ApplicationWEB.AppMinutosCacheLongo)
                                  .GroupBy(p => new { tur_id = p.tur_id, tur_esc_nome = p.tur_esc_nome }).Select(p => p.Key).ToList();
            ddlTurma.DataBind();

            //if (UCComboUAEscola.VisibleUA)
            ddlTurma_SelectedIndexChanged(null, null);
        }
        /// <summary>
        /// Executa a sincronização dos dados alterados no diário de classe. (Compensacao de ausência)
        /// </summary>
        public static void ExecJobAtualizaCompensacaoDiarioClasse()
        {
            List <DCL_Protocolo> ltProtocolo = DCL_ProtocoloBO.SelecionaNaoProcessadosPorTipo
                                                   (DCL_ProtocoloBO.eTipo.CompensacaoDeAula,
                                                   ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.QUANTIDADE_MAXIMA_BUSCA_PROTOCOLO_COMPENSACAO, new Guid()));

            ltProtocolo.ForEach(protocolo =>
            {
                // Marca o protocolo como "Em processamento".
                protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.EmProcessamento;
                protocolo.pro_tentativa++;
            });

            DCL_ProtocoloBO.AtualizaListaProtocolos(ltProtocolo);

            CLS_CompensacaoAusenciaBO.ProcessarProtocoloCompensacao(ltProtocolo, TENTATIVAS_PROCESSAMENTO_PROTOCOLO);
        }
        /// <summary>
        /// Executa a sincronização dos dados alterados no diário de classe. (Justificativa de faltas)
        /// </summary>
        public static void ExecJobAtualizaJustificativaDiarioClasse()
        {
            List <DCL_Protocolo> ltProtocolo = DCL_ProtocoloBO.SelecionaNaoProcessadosPorTipo
                                                   (DCL_ProtocoloBO.eTipo.JustificativaFaltaAluno,
                                                   ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.QUANTIDADE_MAXIMA_BUSCA_PROTOCOLO_JUSTIFICATIVA, new Guid()));

            ltProtocolo.ForEach(protocolo =>
            {
                // Marca o protocolo como "Em processamento".
                protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.EmProcessamento;
                protocolo.pro_tentativa++;
            });

            DCL_ProtocoloBO.AtualizaListaProtocolos(ltProtocolo);

            ACA_AlunoJustificativaFaltaBO.ProcessaProtocoloJustificativaFalta(ltProtocolo, TENTATIVAS_PROCESSAMENTO_PROTOCOLO);
        }
        /// <summary>
        /// Executa a sincronização dos dados alterados no diário de classe. (Planejamento anual e bimestral)
        /// </summary>
        public static void ExecJobAtualizaPlanejamentoDiarioClasse()
        {
            List <DCL_Protocolo> ltProtocolo = DCL_ProtocoloBO.SelecionaNaoProcessadosPorTipo
                                                   (DCL_ProtocoloBO.eTipo.PlanejamentoAnual,
                                                   ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.QUANTIDADE_MAXIMA_BUSCA_PROTOCOLO_PLANEJAMENTO, new Guid()));

            ltProtocolo.ForEach(protocolo =>
            {
                // Marca o protocolo como "Em processamento".
                protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.EmProcessamento;
                protocolo.pro_tentativa++;
            });

            DCL_ProtocoloBO.AtualizaListaProtocolos(ltProtocolo);

            CLS_TurmaDisciplinaPlanejamentoBO.ProcessaProtocoloPlanejamentoAnual(ltProtocolo, TENTATIVAS_PROCESSAMENTO_PROTOCOLO);
        }
Beispiel #17
0
        private void Pesquisar()
        {
            var lstLimite      = ACA_EventoLimiteBO.GetSelectByCalendario(VS_cal_id);
            var tblTipoEvento  = ACA_TipoEventoBO.SelecionaTipoEvento(0, Guid.Empty);
            var lstTipoPeriodo = ACA_TipoPeriodoCalendarioBO.SelecionaTipoPeriodoCalendarioPorCalendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo);

            int    tpc_idRecesso   = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
            string tcp_nomeRecesso = string.Empty;

            if (tpc_idRecesso > 0)
            {
                ACA_TipoPeriodoCalendario tpc = new ACA_TipoPeriodoCalendario {
                    tpc_id = tpc_idRecesso
                };
                ACA_TipoPeriodoCalendarioBO.GetEntity(tpc);
                tcp_nomeRecesso = tpc.tpc_nome;
            }

            var source = lstLimite.Join(tblTipoEvento.Rows.Cast <DataRow>(),
                                        evl => evl.tev_id,
                                        tev => Convert.ToInt32(tev["tev_id"]),
                                        (evl, tev) => new sLimite()
            {
                tev_nome = tev["tev_nome"].ToString(),
                tpc_nome = (evl.tpc_id > 0
                                                                        ? (evl.tpc_id == tpc_idRecesso ? tcp_nomeRecesso : lstTipoPeriodo.First(tpc => tpc.tpc_id == evl.tpc_id).tpc_nome)
                                                                        : string.Empty),
                tev_id = evl.tev_id,
                evl_id = evl.evl_id,
                evl    = evl
            })
                         .GroupBy(evl => string.Format("{0}{1}{2}",
                                                       evl.tev_nome,
                                                       (string.IsNullOrEmpty(evl.tpc_nome) ? string.Empty : " - "),
                                                       evl.tpc_nome))
                         .Select(grp => new
            {
                TipoEventoBimestre = grp.Key,
                Limites            = grp.ToList()
            })
                         .OrderBy(grp => grp.TipoEventoBimestre);

            rptLimitesCalendario.DataSource = source;
            rptLimitesCalendario.DataBind();
        }
Beispiel #18
0
        /// <summary>
        /// Informa se o período já foi fechado (evento de fechamento já acabou) e não há nenhum evento de fechamento por vir.
        /// Se o período ainda estiver ativo então não verifica o evento de fechamento
        /// </summary>
        /// <param name="tpc_id">ID do período do calendário</param>
        /// <param name="cal_id">ID do calendário</param>
        /// <param name="tur_id">ID da turma</param>
        /// <param name="cap_dataFim">Data fim do período</param>
        /// <returns></returns>
        private bool VS_PeriodoEfetivado(int tpc_id, int cal_id, long tur_id, DateTime cap_dataFim)
        {
            bool efetivado = false;

            //Se o bimestre está ativo ou nem começou então não bloqueia pelo evento de fechamento
            if (DateTime.Today <= cap_dataFim)
            {
                return(false);
            }

            List <ACA_Evento> lstEventos = ACA_EventoBO.GetEntity_Efetivacao_List(cal_id, tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, false, __SessionWEB.__UsuarioWEB.Docente.doc_id);

            //Só permite editar o bimestre se tiver evento ativo
            efetivado = !lstEventos.Exists(p => p.tpc_id == tpc_id && p.tev_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id) &&
                                           DateTime.Today >= p.evt_dataInicio && DateTime.Today <= p.evt_dataFim);

            return(efetivado);
        }
        public static DataTable SelecionaTodosPor_EventoEfetivacao
        (
            int cal_id
            , long tud_id
            , long tur_id
            , Guid ent_id
            , TalkDBTransaction banco = null
            , long doc_id             = -1
        )
        {
            // Tipo de evento de efetivação de notas, configurado nos parâmetros.
            int tev_idEfetivacao = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, ent_id);

            return(banco == null ?
                   new ACA_TipoPeriodoCalendarioDAO().SelecionaTodos_EventoEfetivacao(cal_id, tud_id, tev_idEfetivacao, tur_id, doc_id) :
                   new ACA_TipoPeriodoCalendarioDAO {
                _Banco = banco
            }.SelecionaTodos_EventoEfetivacao(cal_id, tud_id, tev_idEfetivacao, tur_id, doc_id));
        }
Beispiel #20
0
        public static DataTable Seleciona_cal_id(int cal_id, bool paginado, int currentPage, int pageSize, bool removerRecesso = true, Guid ent_id = new Guid())
        {
            if (pageSize == 0)
            {
                pageSize = 1;
            }

            totalRecords = 0;

            ACA_CalendarioPeriodoDAO dao = new ACA_CalendarioPeriodoDAO();
            DataTable retorno            = dao.SelectBy_cal_id(cal_id, paginado, currentPage / pageSize, pageSize, out totalRecords);

            if (removerRecesso && retorno.Rows.Count > 0)
            {
                retorno = retorno.AsEnumerable().Where(p => (int)p["tpc_id"] != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)).CopyToDataTable();
            }

            return(retorno);
        }
Beispiel #21
0
        protected void btnGerar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                SalvarBusca();

                string report, parameter;
                parameter = string.Empty;
                report    = ((int)ReportNameGestaoAcademica.GraficoConsolidadoAtividadeAvaliativa).ToString();
                XtraReport         DevReport = null;
                SymmetricAlgorithm sa        = new SymmetricAlgorithm(SymmetricAlgorithm.Tipo.TripleDES);

                DevReport = new RelGrafConsolidadoAtivAvaliada
                                (UCBuscaDocenteTurma.ComboEscola.Esc_ID,
                                UCBuscaDocenteTurma.ComboEscola.Uni_ID,
                                UCBuscaDocenteTurma.ComboEscola.Uad_ID,
                                UCBuscaDocenteTurma.ComboCalendario.Valor,
                                UCBuscaDocenteTurma.ComboCursoCurriculo.Valor[0],
                                UCBuscaDocenteTurma.ComboCursoCurriculo.Valor[1],
                                UCBuscaDocenteTurma.ComboCurriculoPeriodo.Valor[2],
                                UCBuscaDocenteTurma.ComboTurma.Valor[0],
                                UCCPeriodoCalendario.Valor[0],
                                UCCPeriodoCalendario.Valor[1],
                                UCComboTipoDisciplina.Valor,
                                __SessionWEB.__UsuarioWEB.Usuario.usu_id,
                                __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                                GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id),
                                ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id),
                                GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id),
                                GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id),
                                ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_NIVEL_ENSINO_EDUCACAO_INFANTIL, __SessionWEB.__UsuarioWEB.Usuario.ent_id),
                                (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao),
                                __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                                GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Municipio").ToString(),
                                GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Secretaria").ToString(),
                                ApplicationWEB.LogoRelatorioDB);

                GestaoEscolarUtilBO.SendParametersToReport(DevReport);
                Response.Redirect(String.Format("~/Documentos/RelatorioDev.aspx?dummy='{0}'", HttpUtility.UrlEncode(sa.Encrypt(report))), false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }
Beispiel #22
0
        /// <summary>
        /// Carrega as turmas em que o docente da aula.
        /// </summary>
        /// <param name="doc_id">Código do docente</param>
        /// <param name="esc_id">Código da escola</param>
        /// <param name="mostrarCodigoNome">True - Exibe o código e nome da turma | False - Exibe apenas o código da turma</param>
        public void CarregarPorDocente(long doc_id, int esc_id, int cal_id, bool mostrarCodigoNome, bool turmasNormais = false, bool mostraEletivas = true)
        {
            int posicaoDocenteCompatilhado = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.POSICAO_DOCENCIA_COMPARTILHADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            try
            {
                ddlCombo.Items.Clear();
                ddlCombo.DataSource    = TUR_TurmaBO.GetSelectBy_Docente_TodosTipos_Posicao(__SessionWEB.__UsuarioWEB.Usuario.ent_id, doc_id, posicaoDocenteCompatilhado, esc_id, cal_id, mostrarCodigoNome, turmasNormais, mostraEletivas, ApplicationWEB.AppMinutosCacheLongo);
                ddlCombo.DataTextField = "tur_esc_nome";

                CarregarMensagemSelecione();
                ddlCombo.DataBind();
                SelecionaPrimeiroItem();
            }
            catch (Exception)
            {
                lblMessage.Text    = "Erro ao tentar carregar " + lblTitulo.Text.Replace('*', ' ').ToLower() + ".";
                lblMessage.Visible = true;
            }
        }
Beispiel #23
0
        /// <summary>
        /// Carrega os dados do aluno
        /// </summary>
        public void CarregarDadosAluno()
        {
            int tev_idFechamento = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            VS_ListaDadosPeriodo = MTR_MatriculaTurmaBO.SelecionarDadosAlunoEntradaRede(VS_alu_id, VS_mtu_id, tev_idFechamento, false);

            if (VS_ListaDadosPeriodo.Any())
            {
                DadosAlunoEntradaRede dados = VS_ListaDadosPeriodo.First();

                #region Cabeçalho - dados do aluno

                // Carrega os dados do aluno.
                lblNomeAluno.Text = dados.pes_nome;
                lblTurma.Text     = dados.tur_codigo;
                if (dados.mtu_numeroChamada > 0)
                {
                    lblNumeroChamada.Text = Convert.ToString(dados.mtu_numeroChamada);
                }
                else
                {
                    lblNumeroChamada.Text = "-";
                }
                lblCodigoEol.Text = dados.alc_matricula;

                if (dados.arq_idFoto > 0)
                {
                    imgFotoAluno.ImageUrl = string.Format("~/WebControls/BoletimCompletoAluno/Imagem.ashx?idfoto={0}", dados.arq_idFoto);
                }
                else
                {
                    imgFotoAluno.ImageUrl = __SessionWEB._AreaAtual._DiretorioImagens + "imgsAreaAluno/fotoAluno.png";
                }

                #endregion

                CarregarLancamento();
            }
        }
Beispiel #24
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);
        }
        /// <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);
        }
        /// <summary>
        /// Realiza as validações necessárias e salva a atividade extraclasse.
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static bool Salvar(CLS_TurmaAtividadeExtraClasse entity, int cal_id, bool fechamentoAutomatico, Guid ent_id, List <long> lstDisciplinas, Guid usu_id, long tur_id)
        {
            TalkDBTransaction banco = new CLS_TurmaAtividadeExtraClasseDAO()._Banco.CopyThisInstance();

            banco.Open(IsolationLevel.ReadCommitted);
            try
            {
                List <CLS_TurmaAtividadeExtraClasse> lstEntities = new List <CLS_TurmaAtividadeExtraClasse>();

                bool isNew = entity.IsNew;
                if (lstDisciplinas.Count > 0)
                {
                    if (isNew)
                    {
                        CLS_TurmaAtividadeExtraClasseRelacionada relacionada = new CLS_TurmaAtividadeExtraClasseRelacionada();
                        relacionada.IsNew  = true;
                        relacionada.usu_id = usu_id;
                        if (CLS_TurmaAtividadeExtraClasseRelacionadaBO.Save(relacionada, banco))
                        {
                            entity.taer_id = relacionada.taer_id;
                            lstDisciplinas.ForEach(p =>
                            {
                                if (p != entity.tud_id)
                                {
                                    lstEntities.Add(new CLS_TurmaAtividadeExtraClasse {
                                        tud_id = p, tae_id = -1, taer_id = entity.taer_id, IsNew = true
                                    });
                                }
                            });
                        }
                        else
                        {
                            throw new Exception("Erro ao tentar salvar componente curricular relacionado.");
                        }
                    }
                    else
                    {
                        List <CLS_TurmaAtividadeExtraClasse> lstRelacionadas = SelecionaAtividadeExtraclasseRelacionada(entity.taer_id);
                        if (lstRelacionadas.Count > 0)
                        {
                            lstEntities.AddRange(lstRelacionadas.FindAll(p => p.tud_id != entity.tud_id));
                        }
                    }

                    lstEntities.ForEach(p =>
                    {
                        p.tpc_id           = entity.tpc_id;
                        p.tav_id           = entity.tav_id;
                        p.tae_nome         = entity.tae_nome;
                        p.tae_descricao    = entity.tae_descricao;
                        p.tae_cargaHoraria = entity.tae_cargaHoraria;
                        p.tdt_posicao      = entity.tdt_posicao;
                        p.IsNew            = p.tae_id <= 0;
                    });
                }

                lstEntities.Add(entity);
                List <TUR_TurmaDisciplina> turmaDisciplina = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, null, GestaoEscolarUtilBO.MinutosCacheLongo);

                CLS_TurmaAtividadeExtraClasseDAO dao = new CLS_TurmaAtividadeExtraClasseDAO();
                dao._Banco = banco;
                foreach (CLS_TurmaAtividadeExtraClasse atividade in lstEntities)
                {
                    if (atividade.Validate())
                    {
                        if (VerificaExistePorDisciplinaNomeTipoBimestre(atividade))
                        {
                            throw new ValidationException(string.Format("Já existe uma atividade extraclasse com o mesmo nome e tipo para o componente curricular '{0}' no bimestre.", TUR_TurmaDisciplinaBO.GetEntity(new TUR_TurmaDisciplina {
                                tud_id = atividade.tud_id
                            }).tud_nome));
                        }

                        decimal dis_cargaHorariaExtraClasse = 0, cargaAtividadeExtraTotal = 0;

                        if (VerificaCargaHorariaCursoCalendario(atividade, cal_id, out dis_cargaHorariaExtraClasse, out cargaAtividadeExtraTotal))
                        {
                            throw new ValidationException(string.Format("A soma de carga horária de atividades extraclasse ({0}) está acima da máxima permitida pelo componente curricular '{1}' ({2}).", cargaAtividadeExtraTotal, TUR_TurmaDisciplinaBO.GetEntity(new TUR_TurmaDisciplina {
                                tud_id = atividade.tud_id
                            }).tud_nome, dis_cargaHorariaExtraClasse));
                        }

                        if (dao.Salvar(atividade))
                        {
                            // Caso o fechamento seja automático, grava na fila de processamento.
                            if (!isNew && fechamentoAutomatico &&
                                turmaDisciplina.Find(t => t.tud_id == atividade.tud_id).tud_tipo != (byte)TurmaDisciplinaTipo.DocenteEspecificoComplementacaoRegencia &&
                                atividade.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id))
                            {
                                CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(atividade.tud_id, atividade.tpc_id, banco);
                            }
                        }
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                banco.Close(ex);
                throw;
            }
            finally
            {
                if (banco.ConnectionIsOpen)
                {
                    banco.Close();
                }
            }

            throw new ValidationException(GestaoEscolarUtilBO.ErrosValidacao(entity));
        }
        /// <summary>
        /// Carrega dados de lançamento de frequência na tela.
        /// Só carrega caso a disciplina não seja do tipo
        /// complementação da regência.
        /// </summary>
        public void Carregar(bool proximo
                             , bool anterior
                             , bool inalterado
                             , ControleTurmas entitiesControleTurma
                             , int tpcId
                             , DateTime capDataInicio
                             , DateTime capDataFim
                             , byte tdtPosicao
                             , EnumTipoDocente tipoDocente
                             , long tudIdRelacionada
                             , bool permiteVisualizarCompensacao
                             , List <sPermissaoDocente> ltPermissaoFrequencia
                             , bool permiteLancarFrequencia
                             , out int countAulas
                             , int situacaoTurmaDisciplina
                             , ref bool permiteEdicao
                             , bool usuarioPermissao
                             , bool periodoEfetivado
                             , bool periodoAberto
                             , ref bool esconderSalvar
                             , ref int paginaFreq
                             , int tne_id
                             , string tur_ids = null)
        {
            countAulas = 0;
            long tudId          = entitiesControleTurma.turmaDisciplina.tud_id;
            long turId          = entitiesControleTurma.turma.tur_id;
            int  qtdAulasSemana = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.QUANTIDADE_AULAS_LISTAO_FREQUENCIA, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            DateTime dtInicio = new DateTime();
            DateTime dtFim    = new DateTime();

            if (proximo)
            {
                paginaFreq++;
            }
            else if (anterior && paginaFreq > 1)
            {
                paginaFreq--;
            }
            else if (!inalterado)
            {
                paginaFreq = 1;
            }

            // Carregar tabela com aulas e frequências das aulas para os alunos.
            VS_Aulas_Alunos =
                CLS_TurmaAulaAlunoBO.GetSelectBy_TurmaDisciplina(tudId, tpcId,
                                                                 (__SessionWEB.__UsuarioWEB.Docente.doc_id > 0 ? __SessionWEB.__UsuarioWEB.Usuario.usu_id : Guid.Empty),
                                                                 capDataInicio, capDataFim, tdtPosicao, __SessionWEB.__UsuarioWEB.Docente.doc_id == 0, tudIdRelacionada, tur_ids);

            int qtdAlunos = VS_Aulas_Alunos.GroupBy(p => new { p.alu_id, p.mtu_id }).Count();

            int skip = qtdAulasSemana * (paginaFreq - 1) * qtdAlunos;

            while (proximo && VS_Aulas_Alunos.Count < skip)
            {
                paginaFreq--;
                skip = (qtdAulasSemana * (paginaFreq - 1)) * qtdAlunos;

                if (paginaFreq == 1)
                {
                    break;
                }
            }

            //Quando carrega pela primeira vez e o bimestre é ativo então abre a página que possui a data atual
            if (!proximo && !anterior && !inalterado && paginaFreq == 1 &&
                capDataInicio <= DateTime.Today && capDataFim >= DateTime.Today)
            {
                while (VS_Aulas_Alunos.Skip(skip).Take(qtdAulasSemana * qtdAlunos).ToList().LastOrDefault().tau_data < DateTime.Today &&
                       VS_Aulas_Alunos.Skip(skip).Count() > (qtdAulasSemana * qtdAlunos))
                {
                    paginaFreq++;
                    skip = (qtdAulasSemana * (paginaFreq - 1)) * qtdAlunos;
                }
            }

            lkbProximo.Visible  = VS_Aulas_Alunos.Skip(skip).Count() > (qtdAulasSemana * qtdAlunos);
            lkbAnterior.Visible = skip > 0;

            VS_Aulas_Alunos = VS_Aulas_Alunos.Skip(skip).Take(qtdAulasSemana * qtdAlunos).ToList();

            dtInicio       = VS_Aulas_Alunos.Count > 0 ? VS_Aulas_Alunos.FirstOrDefault().tau_data : capDataInicio.Date;
            dtFim          = VS_Aulas_Alunos.Count > 0 ? VS_Aulas_Alunos.LastOrDefault().tau_data : capDataFim.Date;
            lblInicio.Text = dtInicio == new DateTime() ? "" : dtInicio.ToShortDateString();
            lblFim.Text    = dtFim == new DateTime() ? "" : dtFim.ToShortDateString();

            // Carregar repeater de alunos.
            rptAlunosFrequencia.DataSource = MTR_MatriculaTurmaDisciplinaBO.SelecionaAlunosAtivosCOCPorTurmaDisciplina(tudId,
                                                                                                                       tpcId, tipoDocente, false, capDataInicio, capDataFim, ApplicationWEB.AppMinutosCacheMedio, tur_ids)
                                             .Where(p => ((p.mtd_dataSaida > dtInicio) || (p.mtd_dataSaida == null)) && (p.mtd_dataMatricula <= dtFim));

            if (entitiesControleTurma.turma.tur_tipo == (byte)TUR_TurmaTipo.Normal)
            {
                lstAlunosRelatorioRP = CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.SelecionaAlunoPreenchimentoPorPeriodoDisciplina(tpcId, turId, tudId, ApplicationWEB.AppMinutosCacheMedio);
            }

            this.tudTipo = entitiesControleTurma.turmaDisciplina.tud_tipo;
            this.permiteVisualizarCompensacao = permiteVisualizarCompensacao;
            this.ltPermissaoFrequencia        = ltPermissaoFrequencia;
            this.permiteLancarFrequencia      = permiteLancarFrequencia;
            this.permiteEdicao           = false;
            this.situacaoTurmaDisciplina = situacaoTurmaDisciplina;
            this.posicaoDocente          = tdtPosicao;
            this.usuarioPermissao        = usuarioPermissao;
            this.periodoEfetivado        = periodoEfetivado;
            this.periodoAberto           = periodoAberto;
            ACA_CurriculoPeriodo entityCrp = ACA_CurriculoPeriodoBO.SelecionaPorTurmaTipoNormal(turId, ApplicationWEB.AppMinutosCacheLongo);

            this.crpControleTempo       = entityCrp.crp_controleTempo;
            this.possuiRegencia         = TUR_TurmaBO.VerificaPossuiDisciplinaPorTipo(turId, TurmaDisciplinaTipo.Regencia, ApplicationWEB.AppMinutosCacheLongo);
            this.tipoApuracaoFrequencia = entitiesControleTurma.formatoAvaliacao.fav_tipoApuracaoFrequencia;
            this.tne_id   = tne_id;
            this.ttn_tipo = entitiesControleTurma.tipoTurno.ttn_tipo;
            rptAlunosFrequencia.DataBind();
            // Limpa o hiddenfield do listão de frequência pra zerar a ordenação.
            hdnOrdenacaoFrequencia.Value = "";

            //Fazendo as validações após carregar os dados.
            if (rptAlunosFrequencia.Items.Count == 0)
            {
                EscondeGridAlunosFrequencia("Não foram encontrados alunos na turma selecionada.");
                esconderSalvar = true;
            }
            else
            {
                MostraPeriodo(true);
                pnlLancamentoFrequencias.Visible = true;

                RepeaterItem header   = (RepeaterItem)rptAlunosFrequencia.Controls[0];
                Repeater     rptAulas = (Repeater)header.FindControl("rptAulas");

                lblMsgParecer.Visible = rptAulas.Items.Count > 0;

                _lblMsgRepeater.Visible = rptAulas.Items.Count == 0;

                if (rptAulas.Items.Count == 0)
                {
                    _lblMsgRepeater.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Academico", "ControleTurma.Listao.MensagemSemAulas").ToString(),
                                                                 UtilBO.TipoMensagem.Alerta);
                    esconderSalvar = true;
                }

                countAulas = rptAulas.Items.Count;
                rptAlunosFrequencia.Visible = true;
            }

            if (this.permiteEdicao && !periodoEfetivado)
            {
                permiteEdicao = true;
            }
        }
Beispiel #28
0
        /// <summary>
        /// Carrega os alunos da turma.
        /// </summary>
        /// <param name="tur_id">Id da turma.</param>
        private void CarregarAlunosTurma(long tur_id)
        {
            VS_ListaAlunos       = CLS_AlunoAvaliacaoTurmaDisciplinaBO.SelecionarAlunosTurma(tur_id, OrdenacaoDados, ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id), true);
            rptAlunos.DataSource = VS_ListaAlunos;
            rptAlunos.DataBind();

            updDadosAluno.Update();
        }
Beispiel #29
0
        /// <summary>
        /// Retorno dos dados.
        /// </summary>
        protected void UCAlunoEfetivacaoObservacaoGeral_ReturnValues(CLS_AlunoAvaliacaoTurmaObservacao entityObservacaoSelecionada, List <CLS_AlunoAvaliacaoTurmaDisciplina> listaAtualizacaoEfetivacao, byte resultado, List <MTR_MatriculaTurmaDisciplina> listaMatriculaTurmaDisciplina)
        {
            try
            {
                // Carrega os alunos da turma.
                List <CLS_AlunoAvaliacaoTurDis_DadosAlunos> listaAlunos          = VS_ListaAlunos;
                CLS_AlunoAvaliacaoTurDis_DadosAlunos        dadoAlunoSelecionado = CLS_AlunoAvaliacaoTurmaDisciplinaBO.SelecionarAlunosTurma(VS_tur_id, OrdenacaoDados, ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id), true, VS_alu_idSelecionado).FirstOrDefault();
                if (listaAlunos.Any(p => p.alu_id == VS_alu_idSelecionado))
                {
                    int i = listaAlunos.FindIndex(p => p.alu_id == VS_alu_idSelecionado);
                    listaAlunos[i] = dadoAlunoSelecionado;
                }
                rptAlunos.DataSource = listaAlunos;
                rptAlunos.DataBind();
                updDadosAluno.Update();
                VS_ListaAlunos = listaAlunos;

                foreach (RepeaterItem item in rptAlunos.Items)
                {
                    HiddenField hdnAluId = (HiddenField)item.FindControl("hdnAluId");
                    if (Convert.ToInt64(hdnAluId.Value) == VS_alu_idSelecionado)
                    {
                        // Adiciona o estilo ao item selecionado.
                        HtmlTableRow trNomeAlunoAtivo = (HtmlTableRow)item.FindControl("trNomeAluno");
                        trNomeAlunoAtivo.Attributes.Add("class", "aluno-selecionado");
                    }
                }

                updDadosAluno.Update();
            }
            catch (Exception ex)
            {
                divResultados.Visible = false;
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage(RetornaValorResource("ErroCarregarSistema"), UtilBO.TipoMensagem.Erro);
            }
        }
Beispiel #30
0
        protected void lblNomeAluno_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (RepeaterItem item in rptAlunos.Items)
                {
                    // Remove o estilo das outras linhas.
                    HtmlTableRow trNomeAluno = (HtmlTableRow)item.FindControl("trNomeAluno");
                    trNomeAluno.Attributes.Remove("class");
                }

                LinkButton   lkbNomeAluno = (LinkButton)sender;
                RepeaterItem rpiAluno     = (RepeaterItem)((lkbNomeAluno).NamingContainer);

                // Adiciona o estilo ao item selecionado.
                HtmlTableRow trNomeAlunoAtivo = (HtmlTableRow)rpiAluno.FindControl("trNomeAluno");
                trNomeAlunoAtivo.Attributes.Add("class", "aluno-selecionado");

                HiddenField hdnAluId = (HiddenField)rpiAluno.FindControl("hdnAluId");
                HiddenField hdnMtuId = (HiddenField)rpiAluno.FindControl("hdnMtuId");

                VS_alu_idSelecionado = Convert.ToInt64(hdnAluId.Value);

                UCAlunoEfetivacaoObservacaoGeral1.SelectedTab = 0;
                spanMensagemSelecionarAluno.Visible           = false;
                UCAlunoEfetivacaoObservacaoGeral1.CarregarDadosAluno(Convert.ToInt64(hdnAluId.Value), Convert.ToInt32(hdnMtuId.Value), VS_tur_id, VS_esc_id, ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id), true);
                UCAlunoEfetivacaoObservacaoGeral1.AnotacoesAlunoVisible = true;
                UCAlunoEfetivacaoObservacaoGeral1.ObservacaoVisible     = true;

                updDadosAluno.Update();
            }
            catch (Exception ex)
            {
                UCAlunoEfetivacaoObservacaoGeral1.ObservacaoVisible = false;
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage(RetornaValorResource("ErroCarregarSistema"), UtilBO.TipoMensagem.Erro);
            }
        }