예제 #1
0
    protected void _dgvCalendarioAnual_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Deletar")
        {
            try
            {
                int index  = int.Parse(e.CommandArgument.ToString());
                int cal_id = Convert.ToInt32(_dgvCalendarioAnual.DataKeys[index].Value);

                ACA_CalendarioAnual entity = new ACA_CalendarioAnual {
                    cal_id = cal_id
                };
                ACA_CalendarioAnualBO.GetEntity(entity);

                if (ACA_CalendarioAnualBO.Delete(entity))
                {
                    _dgvCalendarioAnual.PageIndex = 0;
                    _dgvCalendarioAnual.DataBind();
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "cal_id: " + cal_id);
                    _lblMessage.Text = UtilBO.GetErroMessage("Calendário escolar excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
            }
            catch (ValidationException ex)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o calendário escolar.", UtilBO.TipoMensagem.Erro);
            }
        }
    }
예제 #2
0
        /// <summary>
        /// Retorna a data de início e fim do período do calendário do tipo informado
        /// (quando informado o tpc_id).
        /// Quando não informado o tpc_id, retorna o primeiro período de acordo
        /// com as avaliações relacionadas.
        /// </summary>
        /// <param name="tpc_id">ID do tipo de período do calendário</param>
        /// <param name="avaliacaoesRelacionadas">IDs das avaliações relacionadas (separadas por ",")</param>
        /// <param name="tur_id">ID da turma</param>
        /// <param name="fav_id">ID do formato de avaliação</param>
        /// <param name="avaliacaoTipo">Tipo da avaliação</param>
        /// <param name="cal_id">ID do calendário</param>
        /// <param name="cap_dataInicio">Data de início do período</param>
        /// <param name="cap_dataFim">Data de fim do período</param>
        /// <returns></returns>
        public static void RetornaDatasPeriodoPor_FormatoAvaliacaoTurma
        (
            int tpc_id
            , string avaliacaoesRelacionadas
            , long tur_id
            , int fav_id
            , AvaliacaoTipo avaliacaoTipo
            , int cal_id
            , out DateTime cap_dataInicio
            , out DateTime cap_dataFim
        )
        {
            // Se for avaliação final, retorna a data de inicio e fim do calendário
            if (avaliacaoTipo == AvaliacaoTipo.Final || avaliacaoTipo == AvaliacaoTipo.ConselhoClasse)
            {
                ACA_CalendarioAnual cal = new ACA_CalendarioAnual {
                    cal_id = cal_id
                };
                ACA_CalendarioAnualBO.GetEntity(cal);

                cap_dataInicio = cal.cal_dataInicio;
                cap_dataFim    = cal.cal_dataFim;
            }
            // Se não for avaliação final, retorna a data de inicio e fim do periodo do calendario
            else
            {
                RetornaDatasPeriodoPor_FormatoAvaliacaoTurma(tpc_id, avaliacaoesRelacionadas, tur_id, fav_id, out cap_dataInicio, out cap_dataFim);
            }
        }
예제 #3
0
    /// <summary>
    /// Carrega o calendario selecionado nos campos da tela.
    /// </summary>
    /// <param name="cal_id">The cal_id.</param>
    private void _LoadFromEntity(int cal_id)
    {
        try
        {
            ACA_CalendarioAnual _calendarioAnual = new ACA_CalendarioAnual {
                cal_id = cal_id
            };
            ACA_CalendarioAnualBO.GetEntity(_calendarioAnual);

            if (_calendarioAnual.ent_id != __SessionWEB.__UsuarioWEB.Usuario.ent_id)
            {
                __SessionWEB.PostMessages = UtilBO.GetErroMessage("O calendário não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta);
                Response.Redirect("Busca.aspx", false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }

            _VS_cal_id                = _calendarioAnual.cal_id;
            _txtAno.Text              = Convert.ToString(_calendarioAnual.cal_ano);
            _txtAno.Enabled           = false;
            _txtDescricao.Text        = _calendarioAnual.cal_descricao;
            _txtDataInicio.Text       = _calendarioAnual.cal_dataInicio.ToString("dd/MM/yyyy");
            _txtDataFim.Text          = _calendarioAnual.cal_dataFim.ToString("dd/MM/yyyy");
            ckbPermiteRecesso.Checked = _calendarioAnual.cal_permiteLancamentoRecesso;

            CarregaPeriodo();

            _dgvCalendarioPeriodo.Columns[posExcluirAdicionarPeriodo].Visible = !(ACA_CalendarioAnualBO.VerificaTurmaPejaExistente(_VS_cal_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id));
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o calendário escolar.", UtilBO.TipoMensagem.Erro);
        }
    }
예제 #4
0
    /// <summary>
    /// Carrega os dados da pagina.
    /// </summary>
    private void CarregarDados()
    {
        long alu_id = __SessionWEB.__UsuarioWEB.alu_id;
        int  mtu_id = __SessionWEB.__UsuarioWEB.mtu_id;
        int  esc_id = __SessionWEB.__UsuarioWEB.esc_id;

        _VS_cal_id = ACA_CalendarioEscolaBO.SelectCalendarioByAluIdMtuIdEscId(alu_id, mtu_id, esc_id);

        if (_VS_cal_id > 0)
        {
            ACA_CalendarioAnual calendario = new ACA_CalendarioAnual {
                cal_id = _VS_cal_id
            };
            ACA_CalendarioAnualBO.GetEntity(calendario);
            CalendarioAnual = calendario;

            // busca os periodos referentes ao calendário
            Periodos = ACA_CalendarioPeriodoBO.Seleciona_cal_id(CalendarioAnual.cal_id, false, 1, 1);

            // busca os dias não úteis
            DiasNaoUteis = SYS_DiaNaoUtilBO.SelecionaTodosPorCidade(CarregarCidadeUsuarioLogado());

            // mostra o nome da calendário
            lblCalendario.Text = "Calendário escolar: <b>" + CalendarioAnual.cal_descricao + "</b>";

            // mostra o ano letivo
            lblAnoLetivo.Text = "Ano Letivo: <b>" + CalendarioAnual.cal_ano + "</b>";

            Eventos = ACA_CalendarioEventoBO.BuscaEventosCalendario(
                CalendarioAnual.cal_id,
                false,
                esc_id
                );

            IniciaRepeater();

            IniciaRepeaterDiasLetivos();

            CriaTabelaLegenda();

            // mostra a quantidade de dias letivos no ano
            int totalDeDiasLetivos = NumeroDeDiasUteis(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim);
            //- NumeroDeDiasSemAtividadeDiscente(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim);
            lblDiasLetivosNoAno.Text = "Dias letivos do ano: <b>" + totalDeDiasLetivos + "</b>";
        }
        else
        {
            _lblMessage.Text = UtilBO.GetErroMessage("Calendário não encontrado.", UtilBO.TipoMensagem.Alerta);
        }
    }
예제 #5
0
    /// <summary>
    /// Carrega os dados da pagina.
    /// </summary>
    private void CarregarDados()
    {
        ACA_CalendarioAnual calendario = new ACA_CalendarioAnual {
            cal_id = _VS_cal_id
        };

        ACA_CalendarioAnualBO.GetEntity(calendario);
        CalendarioAnual = calendario;

        // busca os periodos referentes ao calendário
        Periodos = ACA_CalendarioPeriodoBO.Seleciona_cal_id(CalendarioAnual.cal_id, false, 1, 1);

        // busca os dias não úteis
        DiasNaoUteis = SYS_DiaNaoUtilBO.SelecionaTodosPorCidade(CarregarCidadeUsuarioLogado());

        // mostra o nome da calendário
        lblCalendario.Text = "Calendário escolar: <b>" + CalendarioAnual.cal_descricao + "</b>";

        // mostra o ano letivo
        lblAnoLetivo.Text = "Ano Letivo: <b>" + CalendarioAnual.cal_ano + "</b>";

        if (ddlComboTipoEvento.SelectedValue.Equals("2") && ucComboUAEscola.Esc_ID <= 0)
        {
            fdsVisualizacao.Visible = false;
            return;
        }

        Eventos = ACA_CalendarioEventoBO.BuscaEventosCalendario(
            CalendarioAnual.cal_id,
            ddlComboTipoEvento.SelectedValue.Equals("0"),
            ddlComboTipoEvento.SelectedValue.Equals("2") ? ucComboUAEscola.Esc_ID : 0
            );

        IniciaRepeater();

        IniciaRepeaterDiasLetivos();

        CriaTabelaLegenda();

        fdsVisualizacao.Visible = true;

        // mostra a quantidade de dias letivos no ano
        int totalDeDiasLetivos = NumeroDeDiasUteis(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim);

        //- NumeroDeDiasSemAtividadeDiscente(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim);
        lblDiasLetivosNoAno.Text = "Dias letivos do ano: <b>" + totalDeDiasLetivos + "</b>";
    }
예제 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            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));
                sm.Scripts.Add(new ScriptReference(ArquivoJS.CamposData));
                sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmExclusao));
                sm.Scripts.Add(new ScriptReference("~/Includes/jsCadastroEventoLimite.js"));
            }

            if (!IsPostBack)
            {
                cpvDataInicio.ValueToCompare = DateTime.Now.ToString("dd/MM/yyyy");

                if (PreviousPage != null && PreviousPage.IsCrossPagePostBack)
                {
                    VS_cal_id = PreviousPage.SelectedItem;

                    var entityCalendario = new ACA_CalendarioAnual()
                    {
                        cal_id = VS_cal_id
                    };
                    ACA_CalendarioAnualBO.GetEntity(entityCalendario);

                    lblCalendarioAno.Text = string.Format("{0} (Ano {1})", entityCalendario.cal_descricao, entityCalendario.cal_ano);

                    UCCTipoEvento.CarregarLiberacao();
                    UCCPeriodoCalendario.CarregarPorCalendario(VS_cal_id, entityCalendario.cal_permiteLancamentoRecesso);
                    UCComboUAEscola.Inicializar();

                    //btnSalvar.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_inserir;

                    Pesquisar();
                }
                else
                {
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Selecione um calendário para definir os limites para data de criação de eventos.", UtilBO.TipoMensagem.Alerta);
                    Response.Redirect("Busca.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
            }
        }
예제 #7
0
    /// <summary>
    /// Cria lista de entidades de CalendarioCurso de acordo com os calendários selecionados
    /// </summary>
    private void CriarListaCalendarioEvento()
    {
        _VS_Calendario = null;
        DataTable dtTemp = _VS_Calendario;

        foreach (RepeaterItem item in rptCampos.Items)
        {
            CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo");

            if (ckbCampo != null && ckbCampo.Checked)
            {
                HiddenField hdnId = (HiddenField)item.FindControl("hdnId");
                DataRow     dr    = dtTemp.NewRow();

                ACA_CalendarioAnual calendario = new ACA_CalendarioAnual {
                    cal_id = Convert.ToInt32(hdnId.Value)
                };
                ACA_CalendarioAnualBO.GetEntity(calendario);

                dr["cal_id"]        = calendario.cal_id;
                dr["cal_id_novo"]   = calendario.cal_id;
                dr["cal_descricao"] = calendario.cal_descricao;
                dr["cal_ano"]       = calendario.cal_ano;
                if (calendario.cal_dataFim.Equals(null))
                {
                    dr["cap_periodo"] = calendario.cal_dataInicio.ToString("dd/MM/yyyy");
                }
                else
                {
                    dr["cal_periodo"] = calendario.cal_dataInicio.ToString("dd/MM/yyyy") + " - " + calendario.cal_dataFim.ToString("dd/MM/yyyy");
                }
                dtTemp.Rows.Add(dr);
            }
        }
        _VS_Calendario = dtTemp;
    }
예제 #8
0
        /// <summary>
        /// Retorna nas 2 variáveis se a movimentação está no período válido, para o curso e ano letivo
        /// informados (através da matrícula do aluno).
        /// </summary>
        /// <param name="tur_id">ID da turma</param>
        /// <param name="cur_id">ID do curso</param>
        /// <param name="crr_id">ID do curriculo do curso</param>
        /// <param name="tmo_id">ID do tipo de movimentação</param>
        /// <param name="dataComparar">Data para comparação do momento</param>
        /// <param name="bancoGestao">Transação com banco - obrigatório</param>
        /// <param name="estaInicioMovimentacao">OUT - retorna se está no período de início de movimentação</param>
        /// <param name="estaFechamentoMovimentacao">OUT - retorna se está no período de fechamento de movimentação</param>
        /// <param name="listasFechamentoMatricula">Listas carregadas com dados do fechamento de matrícula</param>
        public static void VerificaPeriodoValidoMovimentacao
        (
            long tur_id
            , int cur_id
            , int crr_id
            , int tmo_id
            , DateTime dataComparar
            , TalkDBTransaction bancoGestao
            , out bool estaInicioMovimentacao
            , out bool estaFechamentoMovimentacao
            , FormacaoTurmaBO.ListasFechamentoMatricula listasFechamentoMatricula = null
        )
        {
            TUR_Turma entTur = null;

            if (listasFechamentoMatricula != null && listasFechamentoMatricula.listTurma != null)
            {
                // Busca a entidade da lista de fechamento de matrícula.
                entTur = listasFechamentoMatricula.listTurma.Find(p => p.tur_id == tur_id);
            }

            if (entTur == null)
            {
                entTur = new TUR_Turma
                {
                    tur_id = tur_id
                };
                TUR_TurmaBO.GetEntity(entTur, bancoGestao);
            }

            ACA_CalendarioAnual entCalendario = null;

            if (listasFechamentoMatricula != null && listasFechamentoMatricula.listCalendarios != null)
            {
                // Busca a entidade da lista de fechamento de matrícula.
                entCalendario = listasFechamentoMatricula.listCalendarios.Find(p => p.cal_id == entTur.cal_id);
            }

            if (entCalendario == null)
            {
                entCalendario = new ACA_CalendarioAnual
                {
                    cal_id = entTur.cal_id
                };
                ACA_CalendarioAnualBO.GetEntity(entCalendario, bancoGestao);
            }

            int mom_ano = entCalendario.cal_ano;

            MTR_TipoMovimentacaoDAO dao = new MTR_TipoMovimentacaoDAO {
                _Banco = bancoGestao
            };
            DataTable dt = dao.SelectBy_PeriodoValido_Curso(cur_id, crr_id, tmo_id, mom_ano, dataComparar);

            if (dt.Rows.Count > 0)
            {
                if (!String.IsNullOrEmpty(dt.Rows[0]["IsPeriodoInicioProcesso"].ToString()))
                {
                    estaInicioMovimentacao = Convert.ToBoolean(dt.Rows[0]["IsPeriodoInicioProcesso"]);
                }
                else
                {
                    estaInicioMovimentacao = false;
                }

                if (!String.IsNullOrEmpty(dt.Rows[0]["IsPeriodoFimProcesso"].ToString()))
                {
                    estaFechamentoMovimentacao = Convert.ToBoolean(dt.Rows[0]["IsPeriodoFimProcesso"]);
                }
                else
                {
                    estaFechamentoMovimentacao = false;
                }
            }
            else
            {
                estaInicioMovimentacao     = false;
                estaFechamentoMovimentacao = false;
            }
        }
예제 #9
0
        private void UCComboTurmaDisciplina_IndexChanged()
        {
            try
            {
                UCCPeriodoCalendario.Valor         = new[] { -1, -1 };
                UCCPeriodoCalendario.PermiteEditar = false;
                // utilizado para evitar chamar o evento de alteracao do calendario periodo duas vezes seguidas.
                bool selecionouComboPeriodos = false;

                if (UCCTurmaDisciplina1.Valor > -1)
                {
                    long tur_id = Convert.ToInt64(ddlTurma.SelectedValue);

                    TUR_Turma entTurma = new TUR_Turma {
                        tur_id = tur_id
                    };
                    TUR_TurmaBO.GetEntity(entTurma);

                    ACA_CalendarioAnual entCalendario = new ACA_CalendarioAnual {
                        cal_id = entTurma.cal_id
                    };
                    ACA_CalendarioAnualBO.GetEntity(entCalendario);

                    ACA_FormatoAvaliacao entFormatoAvaliacao = new ACA_FormatoAvaliacao {
                        fav_id = entTurma.fav_id
                    };
                    ACA_FormatoAvaliacaoBO.GetEntity(entFormatoAvaliacao);

                    VS_FechamentoAutomatico = entFormatoAvaliacao.fav_fechamentoAutomatico;

                    TUR_TurmaDisciplina entityTurmaDisciplina = new TUR_TurmaDisciplina {
                        tud_id = UCCTurmaDisciplina1.Valor
                    };
                    TUR_TurmaDisciplinaBO.GetEntity(entityTurmaDisciplina);

                    if (entityTurmaDisciplina.tud_naoLancarFrequencia)
                    {
                        lblMessage.Text           = UtilBO.GetErroMessage(GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + " não pode lançar frequência na turma.", UtilBO.TipoMensagem.Alerta);
                        UCCTurmaDisciplina1.Valor = -1;
                    }
                    else
                    {
                        bool sucessoProcessarPendenciaFechamento = true;
                        if (VS_FechamentoAutomatico)
                        {
                            var pendencias = CLS_AlunoFechamentoPendenciaBO.SelecionarAguardandoProcessamento(tur_id, entityTurmaDisciplina.tud_id, entityTurmaDisciplina.tud_tipo, 0);

                            if ((pendencias != null) && (pendencias.Rows.Count > 0))
                            {
                                try
                                {
                                    // limpa cache desta turma
                                    string pattern;
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_FILTRO_DEFICIENCIA_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_COMPONENTES_REGENCIA_PATTERN_KEY, tur_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_COMPONENTES_REGENCIA_PATTERN_KEY, tur_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, entTurma.esc_id, entTurma.uni_id, entCalendario.cal_ano, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.Remove(pattern);
                                    CLS_AlunoFechamentoPendenciaBO.Processar(entityTurmaDisciplina.tud_id, (byte)AvaliacaoTipo.Final, pendencias);
                                }
                                catch (Exception ex)
                                {
                                    sucessoProcessarPendenciaFechamento = false;
                                    ApplicationWEB._GravaErro(ex);
                                    lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Classe", "CompensacaoAusencia.Cadastro.MensagemErroProcessarPendenciaFechamento").ToString(), UtilBO.TipoMensagem.Erro);
                                }
                            }
                        }
                        if (sucessoProcessarPendenciaFechamento)
                        {
                            UCCPeriodoCalendario.CarregarPorPeriodoEventoEfetivacaoVigentes(entTurma.cal_id, UCCTurmaDisciplina1.Valor, entTurma.tur_id, true);
                            selecionouComboPeriodos = UCCPeriodoCalendario.Valor[0] != -1 && UCCPeriodoCalendario.Valor[1] != -1;

                            UCCPeriodoCalendario.SetarFoco();
                            UCCPeriodoCalendario.PermiteEditar = true;
                        }

                        VS_DisciplinaEspecial = entityTurmaDisciplina.tud_disciplinaEspecial;

                        VS_posicao = TUR_TurmaDocenteBO.SelecionaPosicaoPorDocenteTurma(_VS_doc_id, UCCTurmaDisciplina1.Valor, ApplicationWEB.AppMinutosCacheLongo);

                        VS_tipoDocente = ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(VS_posicao, ApplicationWEB.AppMinutosCacheLongo);
                    }
                }

                if (!selecionouComboPeriodos)
                {
                    UCCPeriodoCalendario_IndexChanged();
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
            }
        }