Exemplo n.º 1
0
    protected void _dgvEventos_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Deletar")
        {
            try
            {
                int index  = int.Parse(e.CommandArgument.ToString());
                int evt_id = Convert.ToInt32(_dgvEventos.DataKeys[index].Value);

                ACA_Evento entity = new ACA_Evento {
                    evt_id = evt_id
                };
                ACA_EventoBO.GetEntity(entity);

                if (ACA_EventoBO.Delete(entity))
                {
                    _dgvEventos.PageIndex = 0;
                    _dgvEventos.DataBind();
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "evt_id: " + evt_id);
                    _lblMessage.Text = UtilBO.GetErroMessage("Evento 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 excluir o evento.", UtilBO.TipoMensagem.Erro);
            }
        }
    }
Exemplo n.º 2
0
        private bool PermitirEditarPeriodoAula(byte tdt_posicao, int tpc_id, int cal_id, long tur_id, DateTime cap_dataFim, bool permiteSalvarAulasPrevistas = true)
        {
            if (__userLogged.Docente.doc_id == 0)
                return false;

            bool efetivado = false;

            //Se o bimestre está ativo ou nem começou então não está efetivado
            if (DateTime.Today <= cap_dataFim)
                efetivado = false;
            else
            {
                List<ACA_Evento> lstEventos = ACA_EventoBO.GetEntity_Efetivacao_List(cal_id, tur_id, __userLogged.Grupo.gru_id, __userLogged.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, false);

                efetivado = !lstEventos.Exists(p => p.tpc_id == tpc_id && p.tev_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __userLogged.Usuario.ent_id) &&
                                                    DateTime.Today >= p.evt_dataInicio && DateTime.Today <= p.evt_dataFim);
            }

            // Somente os docentes titulares e o especial podem alterar ou salvar e o período não pode estar efetivado
            if ((!(tdt_posicao == (byte)EnumTipoDocente.Titular ||
                       tdt_posicao == (byte)EnumTipoDocente.SegundoTitular ||
                       tdt_posicao == (byte)EnumTipoDocente.Especial) ||
                       !permiteSalvarAulasPrevistas) || efetivado)
            {
                return false;
            }
            return true;
        }
Exemplo n.º 3
0
    protected void _btnSalvar_Click(object sender, EventArgs e)
    {
        _lblMessage.Text = string.Empty;
        try
        {
            if ((cvDataInicio.IsValid) && (cvDataFim.IsValid))
            {
                List <int> calendarios;

                if (!verificarCalendarioSelecionado(out calendarios))
                {
                    throw new MSTech.Validation.Exceptions.ValidationException("Selecione pelo menos um calendário para o evento.");
                }
                //Verifica se o evento foi marcado como 'sem atividade discente'
                if (Convert.ToBoolean(rblAtividadeDiscente.SelectedValue))
                {
                    // carrega datatable com os calendários selecionados
                    CriarListaCalendarioEvento();

                    string lista_cal = string.Empty;
                    for (int i = 0; i < _VS_Calendario.Rows.Count; i++)
                    {
                        lista_cal = _VS_Calendario.Rows[i]["cal_id"].ToString() + ",";
                    }
                    if (lista_cal.Length > 0)
                    {
                        lista_cal = lista_cal.Remove(lista_cal.Length - 1);
                    }

                    //Verifica se existem aulas cadastradas no período informado para o evento
                    if (ACA_EventoBO.VerificaAulaPorCalendarioEscolaData(lista_cal, _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, Convert.ToDateTime(_txtInicioEvento.Text), Convert.ToDateTime(_txtFimEvento.Text)))
                    {
                        ScriptManager.RegisterStartupScript(Page, typeof(Page), "ValidaAulaEventoSemAtividade", "$(document).ready(function(){ $('#divAulaEventoSemAtividade').dialog('open'); });", true);
                    }
                    else
                    {
                        // Bug #9852
                        _Salvar(_txtInicioEvento.Enabled);
                    }
                }
                else
                {
                    // Bug #9852
                    _Salvar(_txtInicioEvento.Enabled);
                }
            }
        }
        catch (MSTech.Validation.Exceptions.ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o evento.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 4
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)));
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 6
0
    protected void _UCFiltroEscolas__SelecionarEscola()
    {
        List <int> calendarios;

        if (verificarCalendarioSelecionado(out calendarios))
        {
            string msg;
            if (!ACA_EventoBO.ValidarLimite(false, _VS_TipoEvento, _VS_Limites, chkPadrao.Checked
                                            , _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID
                                            , UCCTipoPeriodoCalendario1.Valor
                                            , calendarios
                                            , _txtInicioEvento.Text
                                            , _txtFimEvento.Text
                                            , __SessionWEB.__UsuarioWEB.Grupo.vis_id
                                            , out msg
                                            , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>()
                                            ))
            {
                _lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta);
            }
        }
    }
Exemplo n.º 7
0
    protected void _dgvEventos_DataBound(object sender, EventArgs e)
    {
        UCTotalRegistros1.Total = ACA_EventoBO.GetTotalRecords();
        // Seta propriedades necessárias para ordenação nas colunas.
        ConfiguraColunasOrdenacao(_dgvEventos);

        if ((!string.IsNullOrEmpty(_dgvEventos.SortExpression)) &&
            (__SessionWEB.BuscaRealizada.PaginaBusca == PaginaGestao.Evento))
        {
            Dictionary <string, string> filtros = __SessionWEB.BuscaRealizada.Filtros;

            if (filtros.ContainsKey("VS_Ordenacao"))
            {
                filtros["VS_Ordenacao"] = _dgvEventos.SortExpression;
            }
            else
            {
                filtros.Add("VS_Ordenacao", _dgvEventos.SortExpression);
            }

            if (filtros.ContainsKey("VS_SortDirection"))
            {
                filtros["VS_SortDirection"] = _dgvEventos.SortDirection.ToString();
            }
            else
            {
                filtros.Add("VS_SortDirection", _dgvEventos.SortDirection.ToString());
            }

            __SessionWEB.BuscaRealizada = new BuscaGestao
            {
                PaginaBusca = PaginaGestao.Evento
                ,
                Filtros = filtros
            };
        }
    }
Exemplo n.º 8
0
    public void UCCTipoPeriodoCalendario_IndexChanged()
    {
        try
        {
            int tpc_id = UCCTipoPeriodoCalendario1.Valor;

            // carrega as listas para selecao de calendários
            CarregaCalendarios(tpc_id);

            //**********************************
            List <int> calendarios;

            if (verificarCalendarioSelecionado(out calendarios))
            {
                string msg;
                if (!ACA_EventoBO.ValidarLimite(false, _VS_TipoEvento, _VS_Limites, chkPadrao.Checked
                                                , _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID
                                                , UCCTipoPeriodoCalendario1.Valor
                                                , calendarios
                                                , _txtInicioEvento.Text
                                                , _txtFimEvento.Text
                                                , __SessionWEB.__UsuarioWEB.Grupo.vis_id
                                                , out msg
                                                , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>()
                                                ))
                {
                    _lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta);
                }
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 9
0
        private void Salvar(bool confirmacao)
        {
            try
            {
                if (VS_Cpe_Ano != VSAnoLetivo)
                {
                    lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarApenasAnoCorrente"), UtilBO.TipoMensagem.Alerta);
                    return;
                }
                if (!confirmacao)
                {
                    UCConfirmacaoOperacao1.Mensagem              = "Estas informações serão compartilhadas com a Escola e impressas no boletim. Confirmar?";
                    UCConfirmacaoOperacao1.ObservacaoVisivel     = false;
                    UCConfirmacaoOperacao1.ObservacaoObrigatorio = false;

                    ScriptManager.RegisterStartupScript(Page, typeof(Page), "ConfirmaMovimentacao", "$(document).ready(function(){ $('#divConfirmacao').dialog('open'); });", true);
                }
                else
                {
                    // Busca todos os eventos do calendário
                    DataTable dtEventos = ACA_EventoBO.Select_TodosEventosPorTipo_CalendarioPeriodo(VS_Cal_Id, VS_Tur_Id, UCComboTipoPeriodoCalendario1.Valor, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                    // Verifica se existe um evento cadastrado
                    if (dtEventos.Rows.Count == 0)
                    {
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreNaoAbertoLancamento"), UtilBO.TipoMensagem.Alerta);
                        return;
                    }
                    else
                    {
                        // Se não exister nenhum calendário cadastrado, ou exister e a data atual é menor que a data de início
                        bool existeBimestreFuturo = dtEventos.Rows.Cast <DataRow>().Any(row => DateTime.Now.Date < Convert.ToDateTime(row["evt_dataInicio"].ToString()));

                        if (existeBimestreFuturo)
                        {
                            lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreNaoAbertoLancamento"), UtilBO.TipoMensagem.Alerta);
                            return;
                        }

                        // Verifica se já passou a data final do evento do calendário para fechamento do bimestre vigente
                        bool existeBimestreFechado = dtEventos.Rows.Cast <DataRow>().Any(row => DateTime.Now.Date >= Convert.ToDateTime(row["evt_dataInicio"].ToString()) && DateTime.Now.Date <= Convert.ToDateTime(row["evt_dataFim"].ToString()));

                        if (!existeBimestreFechado)
                        {
                            lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreFechadoLancamento"), UtilBO.TipoMensagem.Alerta);
                            return;
                        }
                    }

                    Int64 alu_id = __SessionWEB.__UsuarioWEB.alu_id;

                    // Se for um compromisso de estudo que estava excluído e agora foi incluído novamente, altera situação e os dados
                    bool compromissoEstudoAlteraSituacao = false;

                    // Verifica se já existe um compromisso de estudo pra esse bimestre desse aluno
                    // Busca todos os compromissos de estudo do aluno
                    DataTable dtTodosCompromissosAluno = ACA_CompromissoEstudoBO.SelectSituacaoTodosCompromissoAlunoBy_alu_id(alu_id);

                    bool existeBimestreAtivo = dtTodosCompromissosAluno.Rows.Cast <DataRow>().Any(row => row["tpc_id"].ToString().Equals(UCComboTipoPeriodoCalendario1.Valor.ToString()) &&
                                                                                                  !row["cpe_id"].ToString().Equals(VS_Cpe_Id.ToString()) &&
                                                                                                  row["cpe_ano"].ToString().Equals(VS_Cpe_Ano.ToString()) &&
                                                                                                  !row["cpe_situacao"].ToString().Equals("3")
                                                                                                  );

                    // Se existir e tiver com situação ativo, mostra a msg!
                    if (existeBimestreAtivo)
                    {
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.IncluirExisteRegistro"), UtilBO.TipoMensagem.Alerta);
                        return;
                    }
                    else if (VS_Cpe_Id <= 0) // Senão verifica se existe com situação excluído, pra alterar a situação pra ativo, ao invés de salvar um novo registro
                    {
                        foreach (DataRow row in dtTodosCompromissosAluno.Rows)
                        {
                            if (Convert.ToInt32(row["tpc_id"]) == UCComboTipoPeriodoCalendario1.Valor &&
                                Convert.ToInt32(row["cpe_ano"]) == VS_Cpe_Ano &&
                                Convert.ToInt32(row["cpe_situacao"]) == 3)
                            {
                                compromissoEstudoAlteraSituacao = true;
                                VS_Cpe_Id = Convert.ToInt32(row["cpe_id"]);
                                break;
                            }
                        }
                    }

                    ACA_CompromissoEstudo compromisso = new ACA_CompromissoEstudo
                    {
                        alu_id                     = __SessionWEB.__UsuarioWEB.alu_id,
                        cpe_id                     = -1,
                        cpe_atividadeFeita         = txtOqTenhoFeito.Text,
                        cpe_atividadePretendeFazer = txtOqPretendoFazer.Text,
                        cpe_situacao               = 1,
                        cpe_dataAlteracao          = DateTime.Now,
                        cpe_dataCriacao            = DateTime.Now,
                        cpe_ano                    = VS_Cpe_Ano,
                        tpc_id                     = UCComboTipoPeriodoCalendario1.Valor,
                        IsNew = true
                    };

                    // Se já existir, altera
                    if (VS_Cpe_Id > 0)
                    {
                        compromisso.cpe_id = VS_Cpe_Id;
                        compromisso.IsNew  = false;
                    }

                    if (ACA_CompromissoEstudoBO.Save(compromisso))
                    {
                        if (VS_Cpe_Id <= 0 || compromissoEstudoAlteraSituacao)
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "Área do aluno. cpe_id: " + Convert.ToString(compromisso.cpe_id));
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.IncluirSucesso"), UtilBO.TipoMensagem.Sucesso);
                        }
                        else
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "Área do aluno. cpe_id: " + Convert.ToString(compromisso.cpe_id));
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.AlterarErro"), UtilBO.TipoMensagem.Sucesso);
                        }

                        Response.Redirect("~/Cadastro/CompromissoEstudo/Busca.aspx", false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarSucesso"), UtilBO.TipoMensagem.Erro);
            }
        }
Exemplo n.º 10
0
    /// <summary>
    /// Metodo executado por delegate que
    /// </summary>
    public void _UCComboTipoEvento_IndexChanged()
    {
        try
        {
            if (_UCComboTipoEvento.SelectedIndex == 0)
            {
                MostraTipoPeriodoCalendario(false);
            }
            else
            {
                string parametroAtivDiversificada = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.TIPO_EVENTO_ATIVIDADE_DIVERSIFICADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                ACA_TipoEvento tipoEvento = new ACA_TipoEvento {
                    tev_id = _UCComboTipoEvento.Valor
                };
                ACA_TipoEventoBO.GetEntity(tipoEvento);

                if (tipoEvento.tev_periodoCalendario)
                {
                    MostraTipoPeriodoCalendario(true);
                }
                else
                {
                    MostraTipoPeriodoCalendario(false);
                    CarregaCalendarios(0);
                }

                if (parametroAtivDiversificada.Equals(_UCComboTipoEvento.Valor.ToString()))
                {
                    rblAtividadeDiscente.SelectedValue = "False";
                    rblAtividadeDiscente.Enabled       = false;
                }
                else
                {
                    rblAtividadeDiscente.Enabled = true;
                }

                _VS_TipoEvento = tipoEvento;
                CarregarLimites();

                List <int> calendarios;

                if (verificarCalendarioSelecionado(out calendarios))
                {
                    string msg;
                    if (!ACA_EventoBO.ValidarLimite(false, _VS_TipoEvento, _VS_Limites, chkPadrao.Checked
                                                    , _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID
                                                    , UCCTipoPeriodoCalendario1.Valor
                                                    , calendarios
                                                    , _txtInicioEvento.Text
                                                    , _txtFimEvento.Text
                                                    , __SessionWEB.__UsuarioWEB.Grupo.vis_id
                                                    , out msg
                                                    , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>()
                                                    ))
                    {
                        _lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 11
0
    /// <summary>
    /// Salva os dados do evento.
    /// </summary>
    /// <param name="bValidaDataInicial"></param>
    public void _Salvar(bool bValidaDataInicial)
    {
        try
        {
            ACA_Evento Evento = new ACA_Evento
            {
                evt_id = _VS_evt_id
                ,
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id
                ,
                tev_id = _UCComboTipoEvento.Valor
                ,
                esc_id = _UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID
                ,
                uni_id = _UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID
                ,
                evt_nome = _txtNome.Text
                ,
                evt_descricao = _txtDescricao.Text
                ,
                evt_dataInicio = Convert.ToDateTime(_txtInicioEvento.Text)
                ,
                evt_dataFim = Convert.ToDateTime(_txtFimEvento.Text)
                ,
                evt_semAtividadeDiscente = Convert.ToBoolean(rblAtividadeDiscente.SelectedValue)
                                           //_ckbAtividadeDiscente.Checked
                ,
                evt_padrao = chkPadrao.Checked
                ,
                tpc_id = UCCTipoPeriodoCalendario1.Valor
                ,
                evt_situacao = 1
                ,
                IsNew = (_VS_evt_id > 0) ? false : true
                ,
                evt_limitarDocente = false
            };

            List <int> calendarios;
            if (!verificarCalendarioSelecionado(out calendarios))
            {
                throw new MSTech.Validation.Exceptions.ValidationException("Selecione pelo menos um calendário para o evento.");
            }

            // carrega datatable com os calendários selecionados
            CriarListaCalendarioEvento();

            if (ACA_EventoBO.Salvar
                (
                    Evento
                    , _VS_Calendario
                    , _VS_CalendarioExcluido
                    , bValidaDataInicial
                    , __SessionWEB.__UsuarioWEB.Usuario.ent_id
                    , __SessionWEB.__UsuarioWEB.Grupo.vis_id
                    , __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ? __SessionWEB.__UsuarioWEB.GrupoUA.Select(p => p.uad_id).ToList() : new List <Guid>()
                ))
            {
                if (_VS_evt_id > 0)
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "evt_id: " + Evento.evt_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Evento alterado com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "evt_id: " + Evento.evt_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Evento incluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "Academico/Evento/Busca.aspx", false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o evento.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (DataAnteriorException)
        {
            btnConfirmarEvento.Text = _VS_evt_id > 0 ?
                                      "Confirmar alteração do evento" : "Confirmar inclusão do evento";
            btnCancelarEvento.Text = _VS_evt_id > 0 ?
                                     "Cancelar alteração do evento" : "Cancelar inclusão do evento";

            ScriptManager.RegisterStartupScript(Page, typeof(Page), "ValidaDataInicial", "$(document).ready(function(){ $('#divDataAnterior').dialog('open'); });", true);
        }
        catch (MSTech.Validation.Exceptions.ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
        }
        catch (ArgumentException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o evento.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 12
0
    /// <summary>
    /// Carrega os dados do evento na tela.
    /// </summary>
    /// <param name="evt_id">ID do evento</param>
    private void _LoadFromEntity(long evt_id)
    {
        try
        {
            ACA_Evento evento = new ACA_Evento {
                evt_id = evt_id
            };
            ACA_EventoBO.GetEntity(evento);

            ESC_Escola entEscola = new ESC_Escola
            {
                esc_id = evento.esc_id
            };
            ESC_EscolaBO.GetEntity(entEscola);
            SYS_UnidadeAdministrativa entUA = new SYS_UnidadeAdministrativa
            {
                ent_id = entEscola.ent_id,
                uad_id = entEscola.uad_id
            };
            SYS_UnidadeAdministrativaBO.GetEntity(entUA);

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

            _UCFiltroEscolas.SelecionaCombosAutomatico = false;
            //_UCFiltroEscolas._UnidadeEscola_Load(0);
            //_UCFiltroEscolas._ComboUnidadeEscola.DataBind();
            if (entEscola.esc_id > 0)
            {
                _UCFiltroEscolas._ComboUnidadeEscola.SelectedValue = entEscola.esc_id + ";" + "1";
            }


            Guid tua_id = ACA_ParametroAcademicoBO.VerificaFiltroEscolaPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id);
            SYS_TipoUnidadeAdministrativa TipoUnidadeAdm = new SYS_TipoUnidadeAdministrativa {
                tua_id = tua_id
            };
            SYS_TipoUnidadeAdministrativaBO.GetEntity(TipoUnidadeAdm);

            _UCFiltroEscolas._LabelUnidadeAdministrativa.Text = string.IsNullOrEmpty(TipoUnidadeAdm.tua_nome) ?
                                                                "Unidade Administrativa" : TipoUnidadeAdm.tua_nome;
            _UCFiltroEscolas._UnidadeAdministrativa_LoadBy_tua_id_situacao(tua_id, Guid.Empty, 0);

            chkPadrao.Checked = evento.evt_padrao;
            if (chkPadrao.Checked)
            {
                _UCFiltroEscolas.EscolaCampoObrigatorio = false;
                _UCFiltroEscolas.UnidadeAdministrativaCampoObrigatorio     = false;
                _UCFiltroEscolas._ComboUnidadeEscola.SelectedIndex         = -1;
                _UCFiltroEscolas._ComboUnidadeAdministrativa.SelectedIndex = -1;
            }
            else
            {
                _UCFiltroEscolas.EscolaCampoObrigatorio = true;
                _UCFiltroEscolas.UnidadeAdministrativaCampoObrigatorio = true;
                if (_UCFiltroEscolas._ComboUnidadeAdministrativa.Visible)
                {
                    Guid uad_idSuperior = entEscola.uad_idSuperiorGestao.Equals(Guid.Empty) ? entUA.uad_idSuperior : entEscola.uad_idSuperiorGestao;

                    _UCFiltroEscolas._UnidadeEscola_LoadBy_uad_idSuperior(new Guid(_UCFiltroEscolas._ComboUnidadeAdministrativa.SelectedValue), true);
                    _UCFiltroEscolas._ComboUnidadeAdministrativa.SelectedValue = uad_idSuperior.ToString();
                }
                _UCFiltroEscolas._ComboUnidadeEscola.SelectedValue = Convert.ToString(evento.esc_id + ";" + evento.uni_id).Equals("0;0") ? "-1;-1" : Convert.ToString(evento.esc_id + ";" + evento.uni_id);
            }

            _VS_evt_id = evento.evt_id;
            _UCComboTipoEvento.CarregarTipoEvento(0);
            _UCComboTipoEvento.Valor         = evento.tev_id;
            _UCComboTipoEvento.PermiteEditar = false;

            ACA_TipoEvento tipoEvento = new ACA_TipoEvento {
                tev_id = evento.tev_id
            };
            ACA_TipoEventoBO.GetEntity(tipoEvento);

            if (tipoEvento.tev_periodoCalendario)
            {
                MostraTipoPeriodoCalendario(true);
                UCCTipoPeriodoCalendario1.Valor = evento.tpc_id;
            }
            else
            {
                MostraTipoPeriodoCalendario(false);
            }

            // carrega as listas para selecao de calendários
            CarregaCalendarios(evento.tpc_id);
            //**********************************

            _txtNome.Text         = evento.evt_nome;
            _txtDescricao.Text    = evento.evt_descricao;
            _txtInicioEvento.Text = evento.evt_dataInicio.ToString("dd/MM/yyyy");
            _txtFimEvento.Text    = evento.evt_dataFim.ToString("dd/MM/yyyy");
            //_ckbAtividadeDiscente.Checked = evento.evt_semAtividadeDiscente.Equals(true);

            rblAtividadeDiscente.SelectedValue = evento.evt_semAtividadeDiscente.Equals(true) ? "True" : "False";

            /// dados que não podem ser alterados:
            chkPadrao.Enabled = false;
            _UCFiltroEscolas._ComboUnidadeEscola.Enabled         = false;
            _UCFiltroEscolas._cvUnidadeEscola.Enabled            = false;
            _UCFiltroEscolas._ComboUnidadeAdministrativa.Enabled = false;
            _UCFiltroEscolas._cvUnidadeAdministrativa.Enabled    = false;
            _UCComboTipoEvento.PermiteEditar        = false;
            UCCTipoPeriodoCalendario1.PermiteEditar = false;
            //_ckbAtividadeDiscente.Enabled = false;
            rblAtividadeDiscente.Enabled = false;

            DateTime dtIni = evento.evt_dataInicio;

            bool param          = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PERMITIR_CADASTRO_EVENTO_RETROATIVO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
            bool param_discente = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PERMITIR_CADASTRO_EVENTO_RETROATIVO_SEM_ATIVIDADE_DISCENTE, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            if (((dtIni <= DateTime.Today) && evento.evt_semAtividadeDiscente && param && !param_discente)
                ||
                ((dtIni <= DateTime.Today) && !evento.evt_semAtividadeDiscente))
            {
                _txtInicioEvento.Enabled = false;

                foreach (RepeaterItem item in rptCampos.Items)
                {
                    CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo");
                    if (ckbCampo != null)
                    {
                        ckbCampo.Enabled = false;
                    }
                }
            }

            DateTime dtFim = Convert.ToDateTime(_txtFimEvento.Text);
            if (dtFim <= DateTime.Today)
            {
                _txtFimEvento.Enabled = false;
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o evento.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 13
0
        /// <summary>
        /// Carregar os períodos e seta a visibilidade dos botões de acordo com a permissão do usuário.
        /// </summary>
        public void CarregarPeriodos
        (
            List <sPermissaoDocente> VS_ltPermissaoFrequencia
            , List <sPermissaoDocente> VS_ltPermissaoEfetivacao
            , List <sPermissaoDocente> VS_ltPermissaoPlanejamentoAnual
            , List <sPermissaoDocente> VS_ltPermissaoAvaliacao
            , TUR_TurmaDisciplina VS_turmaDisciplinaRelacionada
            , int esc_id
            , byte tud_tipo
            , byte tdt_posicao           = 0
            , Int64 tur_id               = -1
            , Int64 tud_id               = -1
            , bool incluirPeriodoRecesso = false
            , int tpcIdPendencia         = -1
        )
        {
            // Habilita a visibilidade dos botões alunos e voltar
            VisibleAlunos = !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
            VisibleVoltar = !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_VOLTAR, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            int fav_id = -1;

            if (tur_id > 0 && tud_id > 0 && ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PRE_CARREGAR_CACHE_EFETIVACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
            {
                TUR_Turma entityTurma = new TUR_Turma {
                    tur_id = tur_id
                };
                TUR_TurmaBO.GetEntity(entityTurma);

                ACA_FormatoAvaliacao entityFormato = new ACA_FormatoAvaliacao {
                    fav_id = entityTurma.fav_id
                };
                ACA_FormatoAvaliacaoBO.GetEntity(entityFormato);

                ACA_EscalaAvaliacao entityEscala = new ACA_EscalaAvaliacao {
                    esa_id = entityFormato.esa_idPorDisciplina
                };
                ACA_EscalaAvaliacaoBO.GetEntity(entityEscala);

                ACA_EscalaAvaliacao entityEscalaDocente = new ACA_EscalaAvaliacao {
                    esa_id = entityFormato.esa_idDocente
                };
                ACA_EscalaAvaliacaoBO.GetEntity(entityEscalaDocente);

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

                // Valor do conceito global ou por disciplina.
                string valorMinimo = tud_id > 0 ?
                                     entityFormato.valorMinimoAprovacaoPorDisciplina :
                                     entityFormato.valorMinimoAprovacaoConceitoGlobal;

                double notaMinimaAprovacao = 0;
                int    ordemParecerMinimo  = 0;

                EscalaAvaliacaoTipo tipoEscala = (EscalaAvaliacaoTipo)entityEscala.esa_tipo;

                if (tipoEscala == EscalaAvaliacaoTipo.Numerica)
                {
                    notaMinimaAprovacao = Convert.ToDouble(valorMinimo.Replace(',', '.'));
                }
                else if (tipoEscala == EscalaAvaliacaoTipo.Pareceres)
                {
                    ordemParecerMinimo = ACA_EscalaAvaliacaoParecerBO.RetornaOrdem_Parecer(entityEscala.esa_id, valorMinimo, ApplicationWEB.AppMinutosCacheLongo);
                }

                hdnTudId.Value               = tud_id.ToString();
                hdnTurId.Value               = entityTurma.tur_id.ToString();
                hdnFavId.Value               = entityTurma.fav_id.ToString();
                hdnEsaId.Value               = entityEscala.esa_id.ToString();
                hdnTipoEscala.Value          = entityEscala.esa_tipo.ToString();
                hdnTipoEscalaDocente.Value   = entityEscalaDocente.esa_tipo.ToString();
                hdnNotaMinima.Value          = notaMinimaAprovacao.ToString();
                hdnParecerMinimo.Value       = ordemParecerMinimo.ToString();
                hdnTipoLancamento.Value      = entityFormato.fav_tipoLancamentoFrequencia.ToString();
                hdnCalculoQtAulasDadas.Value = entityFormato.fav_calculoQtdeAulasDadas.ToString();
                hdnTurTipo.Value             = entityTurma.tur_tipo.ToString();
                hdnCalId.Value               = entityTurma.cal_id.ToString();
                hdnTudTipo.Value             = entityTurmaDisciplina.tud_tipo.ToString();
                hdnVariacao.Value            = entityFormato.fav_variacao.ToString();
                hdnTipoDocente.Value         = (__SessionWEB.__UsuarioWEB.Docente.doc_id > 0 ?
                                                (byte)ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(tdt_posicao, ApplicationWEB.AppMinutosCacheLongo) : (byte)0).ToString();
                hdnDisciplinaEspecial.Value          = entityTurmaDisciplina.tud_disciplinaEspecial ? "true" : "false";
                hdnFechamentoAutomatico.Value        = entityFormato.fav_fechamentoAutomatico ? "true" : "false";
                hdnProcessarFilaFechamentoTela.Value = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PROCESSAR_FILA_FECHAMENTO_TELA, __SessionWEB.__UsuarioWEB.Usuario.ent_id) ? "true" : "false";

                fav_id = entityFormato.fav_id;
            }

            if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.TELA_UNICA_LANCAMENTO_FREQUENCIA_AVALIACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
            {
                VisibleListao         = VS_ltPermissaoFrequencia.Any(p => p.pdc_permissaoConsulta) || VS_ltPermissaoAvaliacao.Any(p => p.pdc_permissaoConsulta);
                btnFrequencia.Visible = btnAvaliacao.Visible = false;
            }
            else
            {
                VisibleListao         = false;
                btnFrequencia.Visible = VS_ltPermissaoFrequencia.Any(p => p.pdc_permissaoConsulta);
                btnAvaliacao.Visible  = VS_ltPermissaoAvaliacao.Any(p => p.pdc_permissaoConsulta);
            }

            VisibleEfetivacao = tud_tipo != (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada &&
                                VS_ltPermissaoEfetivacao.Any(p => p.pdc_permissaoConsulta) &&
                                !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_EFETIVACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            VisiblePlanejamentoAnual = tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada ?
                                       VS_turmaDisciplinaRelacionada != null && VS_turmaDisciplinaRelacionada.tud_naoLancarPlanejamento == false
                                        : VS_ltPermissaoPlanejamentoAnual.Any(p => p.pdc_permissaoConsulta);

            List <Struct_CalendarioPeriodos> lstCalendarioPeriodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo, false, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            if (incluirPeriodoRecesso)
            {
                VS_CalendarioPeriodo = lstCalendarioPeriodos;
            }
            else
            {
                VS_CalendarioPeriodo = lstCalendarioPeriodos.FindAll(p => p.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id));

                // Se o período selecionado for de recesso,
                // seleciono o bimestre anterior.
                if (VS_tpc_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
                {
                    int indiceRecesso = lstCalendarioPeriodos.FindIndex(p => p.tpc_id == VS_tpc_id);
                    if (indiceRecesso > 0)
                    {
                        Struct_CalendarioPeriodos periodo = lstCalendarioPeriodos[indiceRecesso - 1];
                        VS_tpc_id    = periodo.tpc_id;
                        VS_tpc_ordem = periodo.tpc_ordem;
                    }
                }
            }

            VS_cal_ano = VS_CalendarioPeriodo.Find(p => p.cal_id == VS_cal_id).cal_ano;

            List <ESC_EscolaCalendarioPeriodo> lstEscCalPeriodo = ESC_EscolaCalendarioPeriodoBO.SelectEscolasCalendarioCache(VS_cal_id, ApplicationWEB.AppMinutosCacheCurto);

            VS_CalendarioPeriodo = VS_CalendarioPeriodo.Where(calP => (lstEscCalPeriodo.Where(escP => (escP.esc_id == esc_id && escP.tpc_id == calP.tpc_id)).Count() == 0)).ToList();

            if (VS_IncluirPeriodoFinal)
            {
                Struct_CalendarioPeriodos[] calendarioPeriodosCopy = new Struct_CalendarioPeriodos[VS_CalendarioPeriodo.Count() + 1];
                VS_CalendarioPeriodo.CopyTo(calendarioPeriodosCopy, 0);

                Struct_CalendarioPeriodos periodoFinal = new Struct_CalendarioPeriodos();
                periodoFinal.cap_descricao = periodoFinal.tpc_nomeAbreviado = GetGlobalResourceObject("UserControl", "NavegacaoTelaPeriodo.UCNavegacaoTelaPeriodo.PeriodoFinal").ToString();
                periodoFinal.tpc_id        = -1;
                calendarioPeriodosCopy[VS_CalendarioPeriodo.Count()] = periodoFinal;

                rptPeriodo.DataSource = calendarioPeriodosCopy;
            }
            else
            {
                rptPeriodo.DataSource = VS_CalendarioPeriodo;
            }

            if (fav_id > 0)
            {
                string tpc_id = string.Join(",", VS_CalendarioPeriodo.Select(p => p.tpc_id.ToString()).ToArray());
                ltAvaliacao = ACA_AvaliacaoBO.ConsultaPor_Periodo_Relacionadas(fav_id, tpc_id, ApplicationWEB.AppMinutosCacheLongo);
                if (VS_IncluirPeriodoFinal)
                {
                    ltAvaliacao.AddRange(ACA_AvaliacaoBO.SelectAvaliacaoFinal_PorFormato(fav_id, ApplicationWEB.AppMinutosCacheLongo));
                }
            }

            rptPeriodo.DataBind();

            //Seleciona o ultimo bimestre
            List <Struct_CalendarioPeriodos> tabelaPeriodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo);
            int tpc_idUltimoPeriodo    = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_id : -1;
            int tpc_ordemUltimoPeriodo = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_ordem : 0;

            if (tpcIdPendencia > 0)
            {
                //Busca o bimestre pendente
                Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => x.tpc_id == tpcIdPendencia).FirstOrDefault();
                VS_tpc_id    = periodo.tpc_id;
                VS_tpc_ordem = periodo.tpc_ordem;
            }

            if (VS_tpc_id <= 0 && !VS_IncluirPeriodoFinal)
            {
                //Busca o bimestre corrente
                Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date <= DateTime.Now.Date && x.cap_dataFim.Date >= DateTime.Now.Date)).FirstOrDefault();
                VS_tpc_id    = periodo.tpc_id;
                VS_tpc_ordem = periodo.tpc_ordem;

                if (VS_tpc_id <= 0)
                {
                    //Se não tem bimestre selecionado e nem bimestre corrente então seleciona o próximo corrente
                    periodo      = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date >= DateTime.Now.Date)).FirstOrDefault();
                    VS_tpc_id    = periodo.tpc_id;
                    VS_tpc_ordem = periodo.tpc_ordem;

                    if (VS_tpc_id <= 0)
                    {
                        //Se não tem bimestre selecionado então seleciona o ultimo
                        VS_tpc_id    = tpc_idUltimoPeriodo;
                        VS_tpc_ordem = tpc_ordemUltimoPeriodo;
                    }
                }
            }

            if (VS_tpc_id >= 0 && VS_IncluirPeriodoFinal)
            {
                if (VS_tpc_id == tpc_idUltimoPeriodo)
                {
                    // Se for o ultimo periodo e a avaliacao final estiver aberta,
                    // selecionar a avaliacao final
                    List <ACA_Evento> listaEventos = ACA_EventoBO.GetEntity_Efetivacao_List(VS_cal_id, tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, true, __SessionWEB.__UsuarioWEB.Docente.doc_id);
                    if (listaEventos.Exists(p => p.tev_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id)))
                    {
                        VS_tpc_id    = -1;
                        VS_tpc_ordem = 0;
                    }
                }

                if (VS_tpc_id == 0)
                {
                    //Se não tem bimestre selecionado e nem bimestre corrente então seleciona o próximo corrente
                    Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date >= DateTime.Now.Date)).FirstOrDefault();
                    VS_tpc_id    = periodo.tpc_id;
                    VS_tpc_ordem = periodo.tpc_ordem;

                    if (VS_tpc_id <= 0)
                    {
                        //Se não tem bimestre selecionado então seleciona o final
                        VS_tpc_id    = -1;
                        VS_tpc_ordem = 0;
                    }
                }
            }

            if (VS_tpc_ordem < 0)
            {
                VS_tpc_ordem = 0;
            }

            // Seleciona o botão do bimestre informado (VS_tpc_id)
            rptPeriodo.Items.Cast <RepeaterItem>().ToList()
            .Select(p => (Button)p.FindControl("btnPeriodo"))
            .ToList().ForEach(p => RemoveClass(p, "periodo_selecionado"));
            rptPeriodo.Items.Cast <RepeaterItem>().ToList()
            .Where(p => Convert.ToInt32(((HiddenField)p.FindControl("hdnPeriodo")).Value) == VS_tpc_id &&
                   Convert.ToInt32(((HiddenField)p.FindControl("hdnPeriodoOrdem")).Value) == VS_tpc_ordem)
            .Select(p => (Button)p.FindControl("btnPeriodo"))
            .ToList()
            .ForEach
            (
                p =>
            {
                AddClass(p, "periodo_selecionado");
                HiddenField hdn = (HiddenField)p.FindControl("hdnIdAvaliacao");
                if (!string.IsNullOrEmpty(hdn.Value))
                {
                    hdnAvaId.Value = hdn.Value;
                }

                hdn = (HiddenField)p.FindControl("hdnAvaliacaoTipo");
                if (!string.IsNullOrEmpty(hdn.Value))
                {
                    hdnTipoAvaliacao.Value = hdn.Value;
                }


                hdnTpcId.Value = VS_tpc_id.ToString();

                hdn = (HiddenField)p.FindControl("hdnPeriodoOrdem");
                if (!string.IsNullOrEmpty(hdn.Value))
                {
                    hdnTpcOrdem.Value = hdn.Value;
                }
            }
            );
        }
Exemplo n.º 14
0
        /// <summary>
        /// Carrega as avaliações no combo que estão liberadas de acordo com os eventos do calendário,
        /// e com os períodos ligados à disciplina.
        /// </summary>
        /// <param name="entityTurma">Entidade da turma</param>
        /// <param name="tud_id">Id da disciplina</param>
        public void CarregarAvaliacao(TUR_Turma entityTurma, long tud_id, int tpc_idFiltrar = -1, bool incluirPeriodoFinal = false, long doc_id = -1)
        {
            try
            {
                // Busca o evento ligado ao calendário, que seja do tipo definido
                // no parâmetro como de efetivação.
                List <ACA_Evento> listEvento = ACA_EventoBO.GetEntity_Efetivacao_List(entityTurma.cal_id, entityTurma.tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, tpc_idFiltrar, ApplicationWEB.AppMinutosCacheLongo, true, doc_id);

                if (entityTurma.fav_id <= 0)
                {
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("É necessário selecionar uma turma que possua um formato de avaliação.", UtilBO.TipoMensagem.Alerta);

                    Response.Redirect("~/Classe/Efetivacao/Busca.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
                else
                {
                    int valor                 = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorRecuperacao      = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorFinal            = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorRecuperacaoFinal = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                    // verifica se existe evento do tipo Efetivação Nota
                    string listaTpcIdPeriodicaPeriodicaFinal = string.Empty;
                    IEnumerable <ACA_Evento> dadoNota        =
                        (from ACA_Evento item in listEvento
                         where item.tev_id == valor
                         select item);
                    // se existir, pega os tpc_id's
                    List <ACA_Evento> lt = dadoNota.ToList();
                    if (lt.Count > 0)
                    {
                        var x = from ACA_Evento evt in listEvento
                                where evt.tev_id == valor
                                select evt.tpc_id;

                        foreach (int tpc_id in x.ToList())
                        {
                            if (string.IsNullOrEmpty(listaTpcIdPeriodicaPeriodicaFinal))
                            {
                                listaTpcIdPeriodicaPeriodicaFinal += Convert.ToString(tpc_id);
                            }
                            else
                            {
                                listaTpcIdPeriodicaPeriodicaFinal += "," + Convert.ToString(tpc_id);
                            }
                        }
                    }

                    // verifica se existe evento do tipo efetivação recuperacao
                    string listaTpcIdRecuperacao             = string.Empty;
                    IEnumerable <ACA_Evento> dadoRecuperacao =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorRecuperacao
                         select item);
                    List <ACA_Evento> ltRe = dadoRecuperacao.ToList();
                    // se existir, pega os tpc_id's
                    if (ltRe.Count > 0)
                    {
                        var x = from ACA_Evento evt in listEvento
                                where
                                evt.tev_id == valorRecuperacao
                                select evt.tpc_id;

                        foreach (int tpc_id in x.ToList())
                        {
                            if (string.IsNullOrEmpty(listaTpcIdRecuperacao))
                            {
                                listaTpcIdRecuperacao += Convert.ToString(tpc_id);
                            }
                            else
                            {
                                listaTpcIdRecuperacao += "," + Convert.ToString(tpc_id);
                            }
                        }
                    }

                    // verifica se existe evento do tipo efetivação final
                    bool existeFinal = false;
                    IEnumerable <ACA_Evento> dadoFinal =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorFinal
                         select item);
                    List <ACA_Evento> ltFinal = dadoFinal.ToList();
                    // se existir, marca para trazer as avaliações do tipo final
                    if (ltFinal.Count > 0)
                    {
                        existeFinal = true;
                    }

                    // verifica se existe evento do tipo recuperação final
                    bool existeRecuperacaoFinal = false;
                    IEnumerable <ACA_Evento> dadoRecuperacaoFinal =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorRecuperacaoFinal
                         select item);
                    List <ACA_Evento> ltRecuperacaoFinal = dadoRecuperacaoFinal.ToList();
                    // se existir, marca para trazer as avaliações do tipo recuperação final
                    if (ltRecuperacaoFinal.Count > 0)
                    {
                        existeRecuperacaoFinal = true;
                    }

                    DataTable dtAvaliacoes;

                    // Se for turma eletiva do aluno, carrega apenas os períodos do calendário em que
                    // a turma é oferecida
                    if ((TUR_TurmaTipo)entityTurma.tur_tipo == TUR_TurmaTipo.EletivaAluno)
                    {
                        List <CadastroTurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectCadastradosBy_Turma(entityTurma.tur_id);
                        dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao_TurmaDisciplinaCalendario(entityTurma.tur_id, listaDisciplinas[0].entTurmaDisciplina.tud_id, entityTurma.fav_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, true, true);

                        if (tpc_idFiltrar > 0)
                        {
                            var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows
                                                   where (tpc_idFiltrar == Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"]))
                                                   select dr);
                            dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable();
                        }
                    }
                    else
                    {
                        dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao(entityTurma.tur_id, entityTurma.fav_id, tud_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, existeRecuperacaoFinal, true, true, tpc_idFiltrar, ApplicationWEB.AppMinutosCacheLongo);
                    }

                    if (incluirPeriodoFinal)
                    {
                        if (tpc_idFiltrar > 0)
                        {
                            var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows
                                                   where (tpc_idFiltrar == Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"]))
                                                   select dr);

                            dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable();
                        }
                        else
                        {
                            var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows
                                                   where ((byte)dr["ava_tipo"] == (byte)AvaliacaoTipo.Final)
                                                   select dr);

                            dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable();
                        }
                    }

                    var avaliacoes = (from DataRow dr in dtAvaliacoes.Rows
                                      let fechado = Convert.ToBoolean(dr["ava_tpc_fechado"])
                                                    let cap_dataInicio = Convert.ToDateTime(string.IsNullOrEmpty(dr["cap_dataInicio"].ToString()) ? new DateTime().ToString() : dr["cap_dataInicio"])
                                                                         let tpc_id = Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"])
                                                                                      where (!(fechado && cap_dataInicio > DateTime.Now)) && ((VS_tpc_id == -1) || (tpc_id == VS_tpc_id))
                                                                                      select dr);

                    dtAvaliacoes = avaliacoes.Any() ? avaliacoes.CopyToDataTable() : new DataTable();

                    ddlAvaliacao.Items.Clear();
                    ddlAvaliacao.DataTextField = "ava_tpc_nome";
                    ddlAvaliacao.DataSource    = dtAvaliacoes;
                    ddlAvaliacao.Items.Insert(0, new ListItem("-- Selecione uma avaliação --", "-1"));
                    ddlAvaliacao.AppendDataBoundItems = true;
                    ddlAvaliacao.DataBind();

                    //if (tpc_idSelecionar > 0)
                    //{
                    //    // Seleciona o tpc_id da avaliação relacionada.
                    //}
                }
            }
            catch (ValidationException ex)
            {
                __SessionWEB.PostMessages = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                Response.Redirect("~/Classe/Efetivacao/Busca.aspx", false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
            catch (Exception ex)
            {
                TrataErro(ex);
            }
        }
Exemplo n.º 15
0
        protected void grvCompromissoEstudo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Deletar")
            {
                try
                {
                    if (UCComboAnosLetivos.Ano != VSAnoLetivo)
                    {
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarApenasAnoCorrente"), UtilBO.TipoMensagem.Alerta);
                        return;
                    }

                    int   index  = int.Parse(e.CommandArgument.ToString());
                    Int64 alu_id = __SessionWEB.__UsuarioWEB.alu_id;

                    DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id);
                    if (dtCurriculo.Rows.Count == 0)
                    {
                        throw new ValidationException("Aluno não possui dados para a Área do Aluno.");
                    }

                    Int64 tur_id = Convert.ToInt64(dtCurriculo.Rows[0]["tur_id"]);
                    int   cal_id = Convert.ToInt32(dtCurriculo.Rows[0]["cal_id"]);

                    ACA_CompromissoEstudo compromisso = new ACA_CompromissoEstudo
                    {
                        alu_id = alu_id,
                        cpe_id = Convert.ToInt32(grvCompromissoEstudo.DataKeys[index].Value)
                    };
                    ACA_CompromissoEstudoBO.GetEntity(compromisso);

                    List <Cache_EventosEfetivacaoTodos> listEventosCalendario = ACA_EventoBO.Select_EventoEfetivacaoTodos
                                                                                    (cal_id, tur_id, compromisso.tpc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo);

                    if (!listEventosCalendario.Any())
                    {
                        throw new ValidationException("Não é possível excluir, pois o bimestre já está fechado.");
                    }

                    compromisso.cpe_situacao      = 3;
                    compromisso.cpe_dataAlteracao = DateTime.Now;

                    if (ACA_CompromissoEstudoBO.Save(compromisso))
                    {
                        CarregarCompromissoEstudoAlunoAnoLetivo(alu_id, UCComboAnosLetivos.Ano);

                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "cpe_id: " + compromisso.cpe_id);
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Busca.ExcluirSucesso"), UtilBO.TipoMensagem.Sucesso);
                    }
                }
                catch (ValidationException ex)
                {
                    lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Busca.ExcluirErro"), UtilBO.TipoMensagem.Erro);
                }
            }
        }
Exemplo n.º 16
0
    protected void _dgvTurma_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Selecionar")
        {
            try
            {
                VS_cancelSelect = false;
                GridViewRow row = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer;

                int index = row.RowIndex;
                _VS_tur_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["tur_id"]);

                // Utilizado para verificar se é turma eletiva do aluno
                TUR_Turma tur = new TUR_Turma {
                    tur_id = _VS_tur_id
                };
                TUR_TurmaBO.GetEntity(tur);

                // verifica se existe evento de efetivacao ligado ao calendário da turma
                int cal_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["cal_id"]);

                // Busca o evento ligado ao calendário, que seja do tipo definido
                // no parâmetro como de efetivação.
                List <ACA_Evento> listEvento = ACA_EventoBO.GetEntity_Efetivacao_List(cal_id, _VS_tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, true, __SessionWEB.__UsuarioWEB.Docente.doc_id);

                if (string.IsNullOrEmpty(_dgvTurma.DataKeys[index].Values["fav_id"].ToString()))
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("É necessário selecionar uma turma que possua um formato de avaliação.", UtilBO.TipoMensagem.Alerta);
                }
                else
                {
                    _VS_fav_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["fav_id"]);

                    int valor                 = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorRecuperacao      = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorFinal            = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorRecuperacaoFinal = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                    // verifica se existe evento do tipo Efetivação Nota
                    string listaTpcIdPeriodicaPeriodicaFinal = string.Empty;
                    IEnumerable <ACA_Evento> dadoNota        =
                        (from ACA_Evento item in listEvento
                         where item.tev_id == valor
                         select item);
                    // se existir, pega os tpc_id's
                    List <ACA_Evento> lt = dadoNota.ToList();
                    if (lt.Count > 0)
                    {
                        var x = from ACA_Evento evt in listEvento
                                where evt.tev_id == valor
                                select evt.tpc_id;

                        foreach (int tpc_id in x.ToList())
                        {
                            if (string.IsNullOrEmpty(listaTpcIdPeriodicaPeriodicaFinal))
                            {
                                listaTpcIdPeriodicaPeriodicaFinal += Convert.ToString(tpc_id);
                            }
                            else
                            {
                                listaTpcIdPeriodicaPeriodicaFinal += "," + Convert.ToString(tpc_id);
                            }
                        }
                    }

                    // verifica se existe evento do tipo efetivação recuperacao
                    string listaTpcIdRecuperacao             = string.Empty;
                    IEnumerable <ACA_Evento> dadoRecuperacao =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorRecuperacao
                         select item);
                    List <ACA_Evento> ltRe = dadoRecuperacao.ToList();
                    // se existir, pega os tpc_id's
                    if (ltRe.Count > 0)
                    {
                        var x = from ACA_Evento evt in listEvento
                                where
                                evt.tev_id == valorRecuperacao
                                select evt.tpc_id;

                        foreach (int tpc_id in x.ToList())
                        {
                            if (string.IsNullOrEmpty(listaTpcIdRecuperacao))
                            {
                                listaTpcIdRecuperacao += Convert.ToString(tpc_id);
                            }
                            else
                            {
                                listaTpcIdRecuperacao += "," + Convert.ToString(tpc_id);
                            }
                        }
                    }

                    // verifica se existe evento do tipo efetivação final
                    bool existeFinal = false;
                    IEnumerable <ACA_Evento> dadoFinal =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorFinal
                         select item);
                    List <ACA_Evento> ltFinal = dadoFinal.ToList();
                    // se existir, marca para trazer as avaliações do tipo final
                    if (ltFinal.Count > 0)
                    {
                        existeFinal = true;
                    }

                    // verifica se existe evento do tipo recuperação final
                    bool existeRecuperacaoFinal = false;
                    IEnumerable <ACA_Evento> dadoRecuperacaoFinal =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorRecuperacaoFinal
                         select item);
                    List <ACA_Evento> ltRecuperacaoFinal = dadoRecuperacaoFinal.ToList();
                    // se existir, marca para trazer as avaliações do tipo recuperação final
                    if (ltRecuperacaoFinal.Count > 0)
                    {
                        existeRecuperacaoFinal = true;
                    }

                    DataTable dtAvaliacoes;

                    // Se for turma eletiva do aluno, carrega apenas os períodos do calendário em que
                    // a turma é oferecida
                    if ((TUR_TurmaTipo)tur.tur_tipo == TUR_TurmaTipo.EletivaAluno)
                    {
                        List <CadastroTurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectCadastradosBy_Turma(_VS_tur_id);
                        dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao_TurmaDisciplinaCalendario(_VS_tur_id, listaDisciplinas[0].entTurmaDisciplina.tud_id, _VS_fav_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, false, true);
                    }
                    else
                    {
                        dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao(_VS_tur_id, _VS_fav_id, 0, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, existeRecuperacaoFinal, false, true, -1, ApplicationWEB.AppMinutosCacheLongo);
                    }

                    var avaliacoes = (from DataRow dr in dtAvaliacoes.Rows
                                      let fechado = Convert.ToBoolean(dr["ava_tpc_fechado"])
                                                    let cap_dataInicio = Convert.ToDateTime(string.IsNullOrEmpty(dr["cap_dataInicio"].ToString()) ? new DateTime().ToString() : dr["cap_dataInicio"])
                                                                         where !(fechado && cap_dataInicio > DateTime.Now)
                                                                         select dr);

                    dtAvaliacoes = avaliacoes.Any() ? avaliacoes.CopyToDataTable() : new DataTable();

                    if (dtAvaliacoes.Rows.Count == 0)
                    {
                        _lblMessage.Text = UtilBO.GetErroMessage("Turma fora do período de " + NomeModulo + ".", UtilBO.TipoMensagem.Alerta);
                    }
                    else if (dtAvaliacoes.Rows.Count == 1)
                    {
                        ACA_FormatoAvaliacao ent = new ACA_FormatoAvaliacao {
                            fav_id = _VS_fav_id
                        };
                        ACA_FormatoAvaliacaoBO.GetEntity(ent);

                        _VS_ava_id = Convert.ToInt32(dtAvaliacoes.Rows[0]["ava_id"]);

                        RedirecionaCadastro();
                    }
                    else if (dtAvaliacoes.Rows.Count > 1)
                    {
                        // Carregar Avaliações.
                        gvAvaliacoes.DataSource = dtAvaliacoes;
                        gvAvaliacoes.DataBind();

                        ScriptManager.RegisterStartupScript(this, typeof(Page), "abreAvaliacoes", "$(document).ready(function(){$('#divAvaliacoes').dialog('open'); });", true);
                    }
                }
            }
            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 carregar as avaliações.", UtilBO.TipoMensagem.Erro);
            }
        }
    }