Ejemplo n.º 1
0
        private void GroupHeader1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            int esa_tipo = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotaComponente.AsEnumerable()
                           .Where(p => Convert.ToInt64(p.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()))
                           .FirstOrDefault().esa_tipo;

            int esa_id = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotaComponente.AsEnumerable()
                         .Where(p => Convert.ToInt64(p.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()))
                         .FirstOrDefault().esa_id;

            ((XYDiagram)xrChartNotaBim.Diagram).AxisY.Range.Auto = false;
            if (esa_tipo == 2)
            {
                List <ACA_EscalaAvaliacaoParecer> escalaParecerList = ACA_EscalaAvaliacaoParecerBO.GetSelectBy_Escala(esa_id);

                xrChartNotaBim.Series[0].LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;

                //Calcula valor minimo, maximo e a sobra de 5% para vizualisação dos pontos
                var     MinValue = escalaParecerList.Min(p => p.eap_ordem);
                var     MaxValue = escalaParecerList.Max(p => p.eap_ordem);
                decimal sobra    = (MaxValue * (decimal)0.05);

                //Adiciona range da escala de avaliação.
                ((XYDiagram)xrChartNotaBim.Diagram).AxisY.Range.MinValue = MinValue - sobra;
                ((XYDiagram)xrChartNotaBim.Diagram).AxisY.Range.MaxValue = MaxValue + sobra;

                //Adiciona custom labels para as notas de conceito
                foreach (ACA_EscalaAvaliacaoParecer eap in escalaParecerList)
                {
                    ((XYDiagram)xrChartNotaBim.Diagram).AxisY.CustomLabels.Add(new CustomAxisLabel {
                        AxisValue = eap.eap_ordem, Name = eap.eap_valor
                    });
                }

                lblTitulo.Text = "Acompanhamento individual de conceitos";
            }
            else
            {
                List <ACA_EscalaAvaliacaoNumerica> escalaNumericaList = ACA_EscalaAvaliacaoNumericaBO.GetSelectBy_Escala(esa_id);

                //Adiciona range da escala de avaliação.
                ((XYDiagram)xrChartNotaBim.Diagram).AxisY.Range.MinValue = 0;
                ((XYDiagram)xrChartNotaBim.Diagram).AxisY.Range.MaxValue = 10;

                (xrChartNotaBim.Diagram as XYDiagram).AxisY.CustomLabels.Clear();

                int index = 0;
                for (int i = 0; i <= 10; i++)
                {
                    (xrChartNotaBim.Diagram as XYDiagram).AxisY.CustomLabels.Add(new CustomAxisLabel(i.ToString()));
                    (xrChartNotaBim.Diagram as XYDiagram).AxisY.CustomLabels[index].AxisValue = i;
                    index++;
                }

                lblTitulo.Text = "Acompanhamento individual de notas";
            }
        }
 /// <summary>
 /// Carrega todos os pareceres não excluídos logicamente
 /// filtrados por esacala de avaliação
 /// </summary>
 public void CarregarPorEscala(int esa_id)
 {
     VS_esa_id = esa_id;
     CarregarCombo(ACA_EscalaAvaliacaoParecerBO.GetSelectBy_Escala(esa_id)
                   .Select(p => new
     {
         descricao     = p.eap_valor + " - " + p.eap_descricao,
         esa_eap_ordem = p.esa_id + ";" + p.eap_id + ";" + p.eap_ordem
     }));
 }
Ejemplo n.º 3
0
    private void _LoadFromEntity(int esa_id)
    {
        try
        {
            ACA_EscalaAvaliacao _escalaAvaliacao = new ACA_EscalaAvaliacao {
                esa_id = esa_id
            };
            ACA_EscalaAvaliacaoBO.GetEntity(_escalaAvaliacao);

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

            _VS_esa_id             = _escalaAvaliacao.esa_id;
            _ddlTipo.SelectedIndex = _escalaAvaliacao.esa_tipo;
            _ddlTipo.Enabled       = false;
            _txtNome.Text          = _escalaAvaliacao.esa_nome;
            _ckbBloqueado.Checked  = _escalaAvaliacao.esa_situacao.Equals(2);

            ESC_Escola escola = new ESC_Escola {
                esc_id = _escalaAvaliacao.esc_id
            };
            ESC_EscolaBO.GetEntity(escola);
            MSTech.CoreSSO.Entities.SYS_UnidadeAdministrativa unidAdm = new MSTech.CoreSSO.Entities.SYS_UnidadeAdministrativa {
                ent_id = escola.ent_id, uad_id = escola.uad_id
            };
            SYS_UnidadeAdministrativaBO.GetEntity(unidAdm);

            _fieldParecer.Visible = _escalaAvaliacao.esa_tipo == 2;

            if (_ddlTipo.SelectedIndex.Equals(2))
            {
                DataTable dtParecer = ACA_EscalaAvaliacaoParecerBO.Seleciona_esa_id(esa_id, false, 1, 1);
                if (dtParecer.Rows.Count > 0)
                {
                    DataView dv = dtParecer.DefaultView;
                    dv.Sort = "eap_ordem";
                }

                _dgvParecer.DataSource = dtParecer;
                _dgvParecer.DataBind();
            }
            else if (_ddlTipo.SelectedIndex.Equals(1))
            {
                ACA_EscalaAvaliacaoNumerica _escalaNumerica = new ACA_EscalaAvaliacaoNumerica {
                    esa_id = esa_id
                };
                ACA_EscalaAvaliacaoNumericaBO.GetEntity(_escalaNumerica);

                _txtMaiorValor.Text = _escalaNumerica.ean_maiorValor.ToString().TrimEnd('0');
                _txtMaiorValor.Text = _txtMaiorValor.Text.TrimEnd(',');


                _txtMenorValor.Text = _escalaNumerica.ean_menorValor.ToString().TrimEnd('0');
                _txtMenorValor.Text = _txtMenorValor.Text.TrimEnd(',');


                _txtVariacao.Text = _escalaNumerica.ean_variacao.ToString().TrimEnd('0');
                _txtVariacao.Text = _txtVariacao.Text.TrimEnd(',');


                _AlteraTelaEscalaAvaliacao = false;
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a escala de avaliação.", UtilBO.TipoMensagem.Erro);
        }
    }
Ejemplo n.º 4
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;
                }
            }
            );
        }
Ejemplo n.º 5
0
        private void GroupHeader1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            if (this.GetCurrentColumnValue("alu_id") != null)
            {
                int esa_tipo = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                               .Where(p => Convert.ToInt64(p.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()))
                               .FirstOrDefault().esa_tipo;
                int esa_id = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                             .Where(p => Convert.ToInt64(p.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()))
                             .FirstOrDefault().esa_id;

                List <int> lstTpc = (from dadosGeral in dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                                     where Convert.ToInt64(dadosGeral.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString())
                                     group dadosGeral by dadosGeral.Field <object>("tpc_ordem") into dadosGeralTpc
                                     select Convert.ToInt32(dadosGeralTpc.Key)).ToList();

                xrChart1.Series.Clear();

                int series = 0;
                foreach (int tpc_ordem in lstTpc)
                {
                    string tpc_nome = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                                      .Where(p => Convert.ToInt32(p.Field <object>("tpc_ordem")) == tpc_ordem)
                                      .FirstOrDefault().tpc_nome;
                    Series serie = new Series(tpc_nome, ViewType.Line);
                    serie.ArgumentScaleType = ScaleType.Auto;
                    xrChart1.Series.Add(serie);
                    xrChart1.Series[series].DataSource = (from dadosGeral in dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                                                          where Convert.ToInt64(dadosGeral.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()) &&
                                                          Convert.ToInt32(dadosGeral.Field <object>("tpc_ordem")) == tpc_ordem
                                                          select dadosGeral).CopyToDataTable();
                    xrChart1.Series[series].ArgumentDataMember  = "dis_nome";
                    xrChart1.Series[series].LegendText          = tpc_nome;
                    xrChart1.Series[series].ValueDataMembers[0] = "valor";
                    xrChart1.Series[series].ShowInLegend        = true;

                    if (esa_tipo == 2)
                    {
                        xrChart1.Series[series].LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
                    }
                    series++;
                }

                if (!addRange)
                {
                    addRange = true;
                    (xrChart1.Diagram as XYDiagram).AxisY.Range.Auto = false;
                    if (esa_tipo == 2)
                    {
                        List <ACA_EscalaAvaliacaoParecer> lstEscala = ACA_EscalaAvaliacaoParecerBO.GetSelectBy_Escala(esa_id);

                        //Calcula valor minimo, maximo e a sobra de 5% para vizualisação dos pontos
                        var     MinValue = lstEscala.Min(p => p.eap_ordem);
                        var     MaxValue = lstEscala.Max(p => p.eap_ordem);
                        decimal sobra    = (MaxValue * (decimal)0.05);

                        //Adiciona range da escala de avaliação.
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MinValue = MinValue - sobra;
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MaxValue = MaxValue + sobra;

                        //Adiciona custom labels para as notas de conceito
                        foreach (ACA_EscalaAvaliacaoParecer eap in lstEscala)
                        {
                            CustomAxisLabel label = new CustomAxisLabel();

                            label.AxisValue = eap.eap_ordem;
                            label.Name      = eap.eap_valor;
                            (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels.Add(label);
                        }
                    }
                    else
                    {
                        List <ACA_EscalaAvaliacaoNumerica> lstEscala = ACA_EscalaAvaliacaoNumericaBO.GetSelectBy_Escala(esa_id);

                        //Adiciona range da escala de avaliação.
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MinValue = 0;
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MaxValue = 10;

                        (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels.Clear();

                        int index = 0;
                        for (int i = 0; i <= 10; i++)
                        {
                            (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels.Add(new CustomAxisLabel(i.ToString()));
                            (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels[index].AxisValue = i;
                            index++;
                        }
                    }

                    (xrChart1.Diagram as XYDiagram).AxisY.Label.Angle = 0;
                }
            }
        }
Ejemplo n.º 6
0
        protected void grvTurmas_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow && PreCarregarFechamentoCache)
            {
                long tur_id   = Convert.ToInt64(DataBinder.Eval(e.Row.DataItem, "tur_id"));
                int  fav_id   = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "fav_id"));
                int  esc_id   = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "esc_id"));
                int  cal_id   = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "cal_id"));
                byte tur_tipo = Convert.ToByte(DataBinder.Eval(e.Row.DataItem, "tur_tipo"));
                long tud_id   = Convert.ToInt64(DataBinder.Eval(e.Row.DataItem, "tud_id"));
                byte tud_tipo = Convert.ToByte(DataBinder.Eval(e.Row.DataItem, "tud_tipo"));
                bool tud_disciplinaEspecial = Convert.ToBoolean(DataBinder.Eval(e.Row.DataItem, "tud_disciplinaEspecial"));
                byte tdt_posicao            = Convert.ToByte(DataBinder.Eval(e.Row.DataItem, "tdt_posicao"));

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

                ACA_EscalaAvaliacao entityEscalaAvaliacao = new ACA_EscalaAvaliacao {
                    esa_id = entityFormatoAvaliacao.esa_idPorDisciplina
                };
                ACA_EscalaAvaliacaoBO.GetEntity(entityEscalaAvaliacao);

                ACA_EscalaAvaliacao entityEscalaAvaliacaoDocente = new ACA_EscalaAvaliacao {
                    esa_id = entityFormatoAvaliacao.esa_idDocente
                };
                ACA_EscalaAvaliacaoBO.GetEntity(entityEscalaAvaliacaoDocente);

                double notaMinimaAprovacao = 0;
                int    ordemParecerMinimo  = 0;

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

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

                bool incluirFinal = entityFormatoAvaliacao.fav_avaliacaoFinalAnalitica;

                List <Struct_CalendarioPeriodos> tabelaPeriodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(cal_id, ApplicationWEB.AppMinutosCacheLongo);

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

                List <Struct_CalendarioPeriodos> listaCalendarioPeriodo = tabelaPeriodos.Where(calP => (lstEscCalPeriodo.Where(escP => (escP.esc_id == esc_id && escP.tpc_id == calP.tpc_id)).Count() == 0)).ToList();

                int tpc_idUltimoPerido     = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_id : -1;
                int tpc_ordemUltimoPeriodo = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_ordem : 0;

                //Busca o bimestre corrente
                Struct_CalendarioPeriodos periodoCorrente = listaCalendarioPeriodo.Where(x => (x.cap_dataInicio.Date <= DateTime.Now.Date && x.cap_dataFim.Date >= DateTime.Now.Date)).FirstOrDefault();
                int tpc_id    = periodoCorrente.tpc_id;
                int tpc_ordem = periodoCorrente.tpc_ordem;
            }
        }