Ejemplo n.º 1
0
        public ColecaoRequisicoes GetRequisicoes(BusinessData.Entities.Calendario cal, ColecaoDias dias, ColecaoCategoriaDeRecursos categorias, ColecaoTurmas turmas)
        {
            ColecaoRequisicoes colAux = new ColecaoRequisicoes();

            BusinessData.BusinessLogic.RequisicoesBO controleRequisicoes = new BusinessData.BusinessLogic.RequisicoesBO();

            ICollection <BusinessData.Entities.Requisicao> requisicoes = controleRequisicoes.GetRequisicoesPorCalendario(cal);

            Requisicao aux;
            Dia        dia;

            Horarios.HorariosPUCRS horario;
            Guid id;
            TurmaDistribuicao turma;
            CategoriaRecurso  categoria;


            foreach (BusinessData.Entities.Requisicao req in requisicoes)
            {
                dia       = dias.Find(req.Aula.Data);
                horario   = Horarios.Parse(req.Aula.Hora);
                id        = req.IdRequisicao;
                categoria = categorias.Find(req.CategoriaRecurso);
                turma     = turmas.Find(req.Aula.TurmaId);

                aux = new Requisicao(dia, horario, turma, categoria, req.Prioridade, req.EstaAtendida);
                colAux.Add(aux);
            }

            return(colAux);
        }
Ejemplo n.º 2
0
        public ColecaoRequisicoes GetRequisicoes(Calendario cal, CategoriaRecurso cat)
        {
            ColecaoRequisicoes colAux = new ColecaoRequisicoes();
            BusinessData.BusinessLogic.RequisicoesBO controleRequisicoes = new BusinessData.BusinessLogic.RequisicoesBO();

            ICollection<BusinessData.Entities.Requisicao> requisicoes = controleRequisicoes.GetRequisicoesPorCalendario(cal.EntidadeCalendario, cat.EntidadeCategoria);

            Requisicao aux;
            Dia dia;
            Horarios.HorariosPUCRS horario;
            Guid id;
            TurmaDistribuicao turma;
            CategoriaRecurso categoria;

            foreach (BusinessData.Entities.Requisicao req in requisicoes)
            {
                dia = cal.Dias.Find(req.Aula.Data);
                horario = Horarios.Parse(req.Aula.Hora);
                id = req.IdRequisicao;
                categoria = cal.Categorias.Find(req.CategoriaRecurso);
                turma = cal.Turmas.Find(req.Aula.TurmaId);

                aux = new Requisicao(dia,horario,turma,categoria,req.Prioridade,req.EstaAtendida);
                colAux.Add(aux);
            }

            return colAux;
        }
Ejemplo n.º 3
0
 public Calendario(BusinessData.Entities.Calendario cal, ColecaoDias dias, ColecaoRequisicoes requisicoes,
     ColecaoTurmas turmas, ColecaoCategoriaDeRecursos categorias, List<BusinessData.Entities.CategoriaDisciplina> categoriasDeDisciplina)
 {
     this.cal = cal;
     this.dias = dias;
     this.requisicoes = requisicoes;
     this.turmas = turmas;
     this.categorias = categorias;
     this.categoriasDeDisciplina = categoriasDeDisciplina;
 }
Ejemplo n.º 4
0
 public Calendario(BusinessData.Entities.Calendario cal, ColecaoDias dias, ColecaoRequisicoes requisicoes,
                   ColecaoTurmas turmas, ColecaoCategoriaDeRecursos categorias, List <BusinessData.Entities.CategoriaDisciplina> categoriasDeDisciplina)
 {
     this.cal                    = cal;
     this.dias                   = dias;
     this.requisicoes            = requisicoes;
     this.turmas                 = turmas;
     this.categorias             = categorias;
     this.categoriasDeDisciplina = categoriasDeDisciplina;
 }
Ejemplo n.º 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if ((bool)Session["Complete"] != true)
        {
            Response.Write("<META HTTP-EQUIV='refresh' content='2;URL=''>");
        }
        else
        {
            //            pnlAguarde.Visible = false;
            lblStatus.Text     = "Recursos distribuidos com sucesso (N/S = recursos não solicitados)";
            lblStatus.Visible  = true;
            lbtnVoltar.Visible = true;

            BusinessData.Entities.Calendario cal = (BusinessData.Entities.Calendario)Session["Calendario"];
            ControleCalendario calendarios       = new ControleCalendario();
            Calendario         calAtual          = calendarios.GetCalendario(cal.Ano, cal.Semestre);

            Dictionary <Guid, SatisfacaoTurma> satTurmas = new Dictionary <Guid, SatisfacaoTurma>();
            //Preenche a colecao para todas as turmas do semestre
            foreach (TurmaDistribuicao t in calAtual.Turmas)
            {
                satTurmas.Add(t.EntidadeTurma.Id, new SatisfacaoTurma(t));
            }

            ColecaoRequisicoes listaReq = (ColecaoRequisicoes)Session["ReqResult"];
            string             ant      = "";
            foreach (Requisicao req in listaReq)
            {
                Guid   id    = req.Turma.EntidadeTurma.Id;
                string atual = req.Turma.EntidadeTurma.Id + req.Dia.Data.ToShortDateString() + req.Horario;
                // Se a turma estiver no dicionário (todas devem estar) e a turma+dia+horário
                // do último recurso atendido não for o mesmo, conta essa requisição
                // como válida
                if (satTurmas.ContainsKey(id))// && !atual.Equals(ant))
                {
                    /*
                     * if (req.Turma.EntidadeTurma.Disciplina.Nome.Contains("Nome da Disciplina") &&
                     * req.Turma.EntidadeTurma.Professor.Nome.Contains("Nome do Professor"))
                     * {
                     *  Debug.WriteLine(req.Prioridade + ": " + req.Dia.Data.ToShortDateString() + " " +
                     *      " - " + req.Horario + " - " +
                     *      req.CategoriaRecurso.Descricao + " - " + req.EstaAtendido);
                     *  Debug.WriteLine("   atual: " + atual);
                     *  Debug.WriteLine("   ant:   " + ant);
                     * }
                     */

                    if (!atual.Equals(ant))
                    {
                        satTurmas[id].Pedidos++;
                    }
                    if (req.EstaAtendido)
                    {
                        satTurmas[id].Atendimentos++;
//                        if (atual.Equals(ant))
//                            satTurmas[id].Pedidos--;
                    }
                    ant = req.Turma.EntidadeTurma.Id + req.Dia.Data.ToShortDateString() + req.Horario;
                }
            }

            List <TurmaRelat> listaTurmas = new List <TurmaRelat>();
            foreach (TurmaDistribuicao t in calAtual.Turmas)
            {
                Guid id = t.EntidadeTurma.Id;

                int    atend        = satTurmas[id].Atendimentos;
                int    pedidos      = satTurmas[id].Pedidos;
                double satisfDouble = 1;
                string satisf       = "100%";
                if (pedidos > 0)
                {
                    satisfDouble = atend / (double)pedidos;
                    satisf       = String.Format("{0:P}", satisfDouble);
                }
                bool dadosOK = t.EntidadeTurma.Disciplina.Categoria.Descricao.Contains("Teórica") ||
                               t.EntidadeTurma.Disciplina.Categoria.Descricao.Contains("PPG") ||
                               t.EntidadeTurma.Curso.Nome.Contains("PPG") ||
                               t.EntidadeTurma.Curso.Nome.StartsWith("Física");

                // Recursos não foram solicitados para essa turma, mas deveriam ter sido
                if (!dadosOK && pedidos == 0)
                {
                    satisfDouble = 0;
                    satisf       = "N/S";
                }

                listaTurmas.Add(new TurmaRelat
                {
                    Id         = id,
                    Numero     = t.EntidadeTurma.Numero,
                    Disciplina = t.EntidadeTurma.Disciplina,
                    Curso      = t.EntidadeTurma.Curso,
                    DataHora   = t.EntidadeTurma.DataHora,
                    Professor  = t.EntidadeTurma.Professor,
                    Pedidos    = pedidos,
                    Atendidos  = atend,
                    Satisfacao = satisf,
                    Satisf     = satisfDouble
                });
                //                Response.Write(t.EntidadeTurma.Disciplina+ " - " +
                //                    t.EntidadeTurma.Numero + " ("+ t.EntidadeTurma.Professor+") " +
                //                    atend + " de " + pedidos + "<br/>");
            }
            listaTurmas.Sort();
            grvListaTurmas.DataSource    = listaTurmas;
            grvListaTurmas.RowDataBound += grvListaTurmas_RowDataBound;
            grvListaTurmas.DataBind();
        }
    }