protected void btn_get_Click(object sender, EventArgs e) { /*RecursosBO bo = new RecursosBO(); * List<Recurso> lista = new List<Recurso>(); * List<Recurso> lista2 = new List<Recurso>(); * lista = bo.GetRecursosAlocados(); * DateTime dt = Convert.ToDateTime(txtData.Text); * lista2 = bo.GetRecursosDisponiveis(dt, txtHorario.Text); * * lblstatus.Text = "Deu certo";*/ ControleCalendario calendarios = new ControleCalendario(); Calendario cal = calendarios.GetCalendario(2007, 2); }
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(); } }