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) { try { CategoriaRecursoBO boCategoriaRecurso = new CategoriaRecursoBO(); CategoriaRecurso cat = boCategoriaRecurso.GetCategoriaRecursoById(new Guid(Request.QueryString["GUID"])); if (cat != null) { cat.Descricao = txtDescricao.Text; boCategoriaRecurso.UpdateCategoriaRecurso(cat); Response.Redirect("~/CategoriaRecurso/List.aspx"); } else { Response.Redirect("~/Default/Erro.aspx?Erro=" + "Categoria não existente."); } } catch (DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } catch (SecurityException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString["GUID"] != null) { try { CategoriaRecursoBO boCategoriaRecurso = new CategoriaRecursoBO(); try { CategoriaRecurso cat = boCategoriaRecurso.GetCategoriaRecursoById(new Guid(Request.QueryString["GUID"])); txtDescricao.Text = cat.Descricao; } catch (FormatException) { Response.Redirect("~/CategoriaRecurso/List.aspx"); } } catch (BusinessData.DataAccess.DataAccessException) { Response.Redirect("~/CategoriaRecurso/List.aspx"); } } else { Response.Redirect("~/CategoriaRecurso/List.aspx"); } } }
//Caso a edição seja confirmada... protected void btnConfirmar_Click(object sender, EventArgs e) { Dictionary <CategoriaRecurso, double> prioridades = new System.Collections.Generic.Dictionary <CategoriaRecurso, double>(); //Recria o dicionário com os valores modificados(ou não) do gridview for (int i = 0; i < grvListaCatDisciplina.DataKeys.Count; i++) { try { Guid id = (Guid)grvListaCatDisciplina.DataKeys[i].Value; CategoriaRecurso cat = crBo.GetCategoriaRecursoById(id); if (cat != null) { double p = Convert.ToDouble(((TextBox)(grvListaCatDisciplina.Rows[i].FindControl("txtPrioridade"))).Text); prioridades.Add(cat, p); } else { Response.Redirect("~/Default/Erro.aspx?Erro=" + "Categoria não existente."); } } catch (Exception ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } } //Cria-se, então, uma nova instância de CategoriaDisciplina, com o ID original, o nome que pode(ou não) ter sido mudado pelo usuário //e o dicionário criado anteriormente contendo todos os novos valores CategoriaDisciplina cd = CategoriaDisciplina.GetCategoriaDisciplina(new Guid(Request.QueryString["GUID"]), txtDescricao.Text, prioridades); try { CategoriaDisciplinaBO cdBo = new CategoriaDisciplinaBO(); //Manda fazer o update, finalmente cdBo.UpdateCategoriaDisciplina(cd); Response.Redirect("~/CategoriaDisciplina/List.aspx"); } catch (BusinessData.DataAccess.DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } catch (SecurityException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
protected void btnConfirmar_Click(object sender, EventArgs e) { System.Collections.Generic.Dictionary <CategoriaRecurso, double> prioridades = new System.Collections.Generic.Dictionary <CategoriaRecurso, double>(); for (int i = 0; i < grvListaCatDisciplina.DataKeys.Count; i++) { try { Guid id = (Guid)grvListaCatDisciplina.DataKeys[i].Value; CategoriaRecurso cat = crBo.GetCategoriaRecursoById(id); double p = Convert.ToDouble(((TextBox)(grvListaCatDisciplina.Rows[i].FindControl("txtPrioridade"))).Text); prioridades.Add(cat, p); } catch (Exception ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } } CategoriaDisciplina cd = CategoriaDisciplina.NewCategoriaDisciplina(txtDescricao.Text, prioridades); try { CategoriaDisciplinaBO cdBo = new CategoriaDisciplinaBO(); cdBo.InsereCategoriaDisciplina(cd); lblStatus.Text = "Categoria de Disciplinas inserida com sucesso."; lblStatus.Visible = true; txtDescricao.Text = ""; //Usado aqui para zerar todos os campos PopulaCategoriasRecurso(); } catch (BusinessData.DataAccess.DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } catch (SecurityException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
protected void btnConfirmar_Click(object sender, EventArgs e) { try { Calendario cal = (Calendario)Session["Calendario"]; Recurso recurso; listaHorarios = (List <HorarioBloqueado>)Session["Horarios"]; CategoriaRecurso categoriaRecurso = categBO.GetCategoriaRecursoById(new Guid(ddlCategoria.SelectedValue)); Faculdade vinculo = faculBO.GetFaculdadeById(new Guid(ddlVinculo.SelectedValue)); if (listaHorarios.Count != 0) { recurso = Recurso.NewRecurso(txtDescricao.Text, txtAbrev.Text, txtTipo.Text[0], vinculo, categoriaRecurso, Convert.ToBoolean(Convert.ToInt16(rblDisponivel.SelectedValue)), listaHorarios); } else { recurso = Recurso.NewRecurso(txtDescricao.Text, txtAbrev.Text, txtTipo.Text[0], vinculo, categoriaRecurso, Convert.ToBoolean(Convert.ToInt16(rblDisponivel.SelectedValue)), null); } recursoBO.InsereRecurso(recurso, cal); txtDescricao.Text = ""; ddlHorarioInicio.SelectedIndex = 0; ddlHorarioFim.SelectedIndex = 0; dgHorarios.DataSource = null; dgHorarios.DataBind(); pnlHorarios.Visible = false; listaHorarios.Clear(); Session["Horarios"] = listaHorarios; lblStatus.Text = "Recurso cadastrado com sucesso."; lblStatus.Visible = true; } catch (BusinessData.DataAccess.DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
protected void ddlCategoriaRecurso_SelectedIndexChanged(object sender, EventArgs e) { if (ddlCategoriaRecurso.SelectedIndex != 0) { if (!btnConfirmar.Enabled) { btnConfirmar.Enabled = true; } bool jaInserida = false; lblStatus.Text = ""; CategoriaRecursoBO controladorCategorias = new CategoriaRecursoBO(); Guid id = new Guid(ddlCategoriaRecurso.SelectedValue); CategoriaRecurso categoria = controladorCategorias.GetCategoriaRecursoById(id); Requisicao req = Requisicao.NewRequisicao(aulaAtual, categoria, Convert.ToInt32(ddlPrioridadeRequisicao.SelectedValue)); DecoratorRequisicoes recComEstado = new DecoratorRequisicoes(req, DecoratorRequisicoes.EstadoRequisicao.Inserida); //foreach para comparar se Recurso já existe na lista foreach (DecoratorRequisicoes dec in listaRequisicoes) { if (dec.CategoriaRecurso.Equals(recComEstado.CategoriaRecurso) && dec.EstadoAtual != DecoratorRequisicoes.EstadoRequisicao.Removida) { lblStatus.Text = "Recurso já selecionado."; if (listaRequisicoes.Count < ddlPrioridadeRequisicao.SelectedIndex + 1) { ddlCategoriaRecurso.SelectedIndex = 0; } else { ddlCategoriaRecurso.SelectedValue = listaRequisicoes[ddlPrioridadeRequisicao.SelectedIndex].CategoriaRecurso.Id.ToString(); } jaInserida = true; } } if (!jaInserida) { foreach (DecoratorRequisicoes dec in listaRequisicoes) { //Compara se estado atual da categoria é igual à removida if (dec.EstadoAtual == DecoratorRequisicoes.EstadoRequisicao.Removida) { continue; } //Compara se a prioridade da categoria para inserir é igual a da categoria da lista e se a categoria da lista é diferente de Inserida if (dec.Prioridade == recComEstado.Prioridade && dec.EstadoOriginal != DecoratorRequisicoes.EstadoRequisicao.Inserida) { dec.CategoriaRecurso = controladorCategorias.GetCategoriaRecursoById(id); dec.EstadoAtual = DecoratorRequisicoes.EstadoRequisicao.Atualizada; lblStatus.Text = "Categoria alterada para a opção."; jaInserida = true; break; } //Compara se a prioridade da categoria para inserir é igual a da categoria da lista e se a categoria da lista é igual a Inserida if (dec.Prioridade == recComEstado.Prioridade && dec.EstadoOriginal == DecoratorRequisicoes.EstadoRequisicao.Inserida) { dec.CategoriaRecurso = controladorCategorias.GetCategoriaRecursoById(id); lblStatus.Text = "Categoria alterada para a opção."; jaInserida = true; break; } } } //Insere se a categoria não estiver na lista if (!jaInserida) { int aux = (int)Session["Opcoes"]; aux++; Session["Opcoes"] = aux; listaRequisicoes.Add(recComEstado); lblStatus.Text = "Categoria selecionada para a opção."; } } else { //foreach para percorrer a lista para a ddl de categorias voltar para a categoria //atual quando selecionada a opção "Selecione" foreach (DecoratorRequisicoes dec in listaRequisicoes) { if (dec.Prioridade == (ddlPrioridadeRequisicao.SelectedIndex + 1)) { ddlCategoriaRecurso.SelectedValue = dec.CategoriaRecurso.Id.ToString(); break; } } } }