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"); } } }
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 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 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; } } } }