protected void ddlRecurso_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddlRecurso = (DropDownList)sender; string recString = ddlRecurso.SelectedValue; TableCell cell = (TableCell)ddlRecurso.Parent; DataGridItem gridItem = (DataGridItem)cell.Parent; // Salva dados digitados SalvarTodos(); // SalvaDados(gridItem); // abre a popup de selecao de recursos //string id = lblaulaId.Text; //ScriptManager.RegisterClientScriptBlock(this, GetType(), "onClick", "popitup('SelecaoRecursos.aspx?AulaId=" + id + "');", true); Label lblaulaId = (Label)gridItem.FindControl("lblAulaId"); Guid idAula = new Guid(lblaulaId.Text); Aula aulaAtual = aulaBo.GetAulaById(idAula); RequisicoesBO controleRequisicoes = new RequisicoesBO(); IList <Requisicao> requisicoesExistentes = controleRequisicoes.GetRequisicoesPorAula(idAula, cal); int pri = 0; foreach (Requisicao req in requisicoesExistentes) { if (req.Prioridade > pri) { pri = req.Prioridade; } } CategoriaRecursoBO controladorCategorias = new CategoriaRecursoBO(); Guid catId = new Guid(ddlRecurso.SelectedValue); CategoriaRecurso categoria = controladorCategorias.GetCategoriaRecursoById(catId); Requisicao novaReq = Requisicao.NewRequisicao(aulaAtual, categoria, pri + 1); // teste! sempre prioridade + 1 // Insere a nova requisição controleRequisicoes.InsereRequisicao(novaReq); requisicoesExistentes.Add(novaReq); // Atualiza label com os recursos selecionados Label lblRecursosSelecionados = (Label)gridItem.FindControl("lblRecursosSelecionados"); string recursos = ""; foreach (Requisicao r in requisicoesExistentes) { if (recursos != String.Empty) { recursos += "<br/>"; } recursos += r.Prioridade + ": " + r.CategoriaRecurso.Descricao; } lblRecursosSelecionados.Text = recursos; // Remove a categoria selecionada do drop down list ddlRecurso.Items.Remove(ddlRecurso.Items.FindByValue(ddlRecurso.SelectedValue)); ddlRecurso.SelectedIndex = 0; }
protected void btnConfirmar_Click(object sender, EventArgs e) { RequisicoesBO req = new RequisicoesBO(); foreach (DecoratorRequisicoes dec in listaRequisicoes) { switch (dec.EstadoAtual) { case DecoratorRequisicoes.EstadoRequisicao.Inserida: req.InsereRequisicao(dec); break; case DecoratorRequisicoes.EstadoRequisicao.Removida: req.DeletaRequisicao(dec.IdRequisicao); break; case DecoratorRequisicoes.EstadoRequisicao.Atualizada: req.UpdateRequisicoes(dec); break; } } limparSessao = true; FechaJanela(); }
private void GetRequisicoes() { RequisicoesBO controleRequisicoes = new RequisicoesBO(); IList <Requisicao> requisicoesExistentes = controleRequisicoes.GetRequisicoesPorAula(aulaAtual.Id, calendarioAtual); foreach (Requisicao req in requisicoesExistentes) { DecoratorRequisicoes.EstadoRequisicao estado = DecoratorRequisicoes.EstadoRequisicao.Original; listaRequisicoes.Add(new DecoratorRequisicoes(req, estado)); if (req.Prioridade == Convert.ToInt32(ddlPrioridadeRequisicao.SelectedValue)) { ddlCategoriaRecurso.SelectedValue = req.CategoriaRecurso.Id.ToString(); } if (req.Prioridade > ddlPrioridadeRequisicao.Items.Count) { if (!estado.ToString().Equals("Removida")) { AdicionaOpcao(); } } } Session.Add("listaRequisicoes", listaRequisicoes); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { aulaBo = new AulaBO(); reqBo = new RequisicoesBO(); try { cal = (Calendario)Session["Calendario"]; // Obtém as requisições do semestre (todas) IList <Requisicao> listaReq = reqBo.GetRequisicoesPorCalendario(cal); // Cria um conjunto para armazenar os números das turmas com pedidos de recursos reqTurmas = new HashSet <Guid>(); foreach (Requisicao req in listaReq) { reqTurmas.Add(req.Aula.TurmaId.Id); } TurmaBO turma = new TurmaBO(); List <Turma> listaTurma = turma.GetTurmas(cal); listaTurma.Sort(); if (listaTurma.Count == 0) { lblStatus.Text = "Nenhuma turma cadastrada."; lblStatus.Visible = true; } else { // Turmas sem solicitações de recursos, não teóricas e não de pós List <TurmaVerifica> turmasRecursos = new List <TurmaVerifica>(); // Turmas restantes (todas as outras) List <TurmaVerifica> turmasRestante = new List <TurmaVerifica>(); // Total de turmas restantes int totalTurmasRestante = 0; // Total de turmas que deveriam solicitar recursos int totalTurmasRecursos = 0; // Total de turmas com falta de preenchimento em algum aspecto int totalRestanteFalta = 0; // Total de turmas sem solicitação de recursos int totalRecursosFalta = 0; foreach (Turma t in listaTurma) { TurmaVerifica nova = new TurmaVerifica { Id = t.Id, Numero = t.Numero, Calendario = t.Calendario, Disciplina = t.Disciplina, DataHora = t.DataHora, Professor = t.Professor, Curso = t.Curso }; // "teorica" representa turmas teóricas ou de algum pós bool teorica = nova.Disciplina.Categoria.Descricao.Contains("Teórica") || nova.Disciplina.Categoria.Descricao.Contains("PPG") || nova.Curso.Nome.Contains("PPG") || nova.Disciplina.Categoria.Descricao == "AGES"; // Se a turma não é "teórica", ela deveria solicitar recursos if (!teorica) { totalTurmasRecursos++; } else { // Caso contrário, conta nas demais totalTurmasRestante++; } // Verifica o preenchimento dos dados, retorna true se // a turma está incompleta if (verificaTurma(ref nova, t.Disciplina.G2)) { // Se a turma deveria solicitar recursos e não o fez, // conta mais uma e adiciona na lista de pendentes if (nova.RecursosOK == "NÃO" && !teorica) { turmasRecursos.Add(nova); totalRecursosFalta++; } // Se a turma não precisa solicitar recursos, conta // nas restantes e adiciona na lista if (teorica) { turmasRestante.Add(nova); totalRestanteFalta++; } } } // Calcula os percentuais double percRecursos = totalRecursosFalta / (double)totalTurmasRecursos; lblPercentualRecursos.Text = String.Format("Turmas sem solicitações de recursos (excluindo teóricas e pós): {1} de {2} ({0:P})", percRecursos, totalRecursosFalta, totalTurmasRecursos); double percPreench = totalRestanteFalta / (double)totalTurmasRestante; lblPercentualGeral.Text = String.Format("Demais turmas com pendências: {1} de {2} ({0:P})", percPreench, totalRestanteFalta, totalTurmasRestante); grvListaTurmas.RowDataBound += grvListaTurmas_RowDataBound; grvListaTurmas.DataSource = turmasRecursos; grvListaTurmas.DataBind(); grvListaTurmasGeral.RowDataBound += grvListaTurmasGeral_RowDataBound; grvListaTurmasGeral.DataSource = turmasRestante; grvListaTurmasGeral.DataBind(); } } catch (BusinessData.DataAccess.DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } catch (Exception ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } } }