protected void btnAtualizar_Click(object sender, EventArgs e) { if (this.IsValid) { try { //Realimenta os objetos trazendo-os do viewstate colecaoAtores = (ArrayList)ViewState["colecaoAtores"]; colecaoCasosUsoExtends = (ArrayList)ViewState["colecaoCasosUsoExtends"]; colecaoCasosUsoInclude = (ArrayList)ViewState["colecaoCasosUsoInclude"]; colecaoSubFluxos = (ArrayList)ViewState["colecaoSubFluxos"]; casoDeUso = (CasoDeUso)ViewState["casoDeUso"]; casoDeUso.CasosDeUsoExtendidos.AddAll(colecaoCasosUsoExtends); casoDeUso.CasosDeUsoIncluidos.AddAll(colecaoCasosUsoInclude); casoDeUso.SubFluxos.AddAll(colecaoSubFluxos); casoDeUso.AtoresEnvolvidos.AddAll(colecaoAtores); casoDeUso.Nome = txtNome.Text.Trim(); casoDeUso.Resumo = txtResumo.Text.Trim(); casoDeUso.PreCondicoes = txtPrecondicoes.Text.Trim(); casoDeUso.PosCondicoes = txtPoscondicoes.Text.Trim(); FluxoBasico fluxoBasico = new FluxoBasico(); foreach (FluxoBasico fluxo in casoDeUso.FluxosBasicos) { fluxoBasico = fluxo; break; } fluxoBasico.NomeFluxo = txtNomeFluxoBasico.Text.Trim(); fluxoBasico.Detalhamento = txtDescricaoFluxoBasico.Text.Trim(); foreach (SubFluxo s in colecaoSubFluxos) { s.CasoDeUso = casoDeUso; s.FluxoPai = fluxoBasico; } ViewState["casoDeUso"] = serviceCasoUso.Revisar(casoDeUso, txtHistorico.Text.Trim(), usuarioCorrente); txtHistorico.Text = ""; grvHistorico.DataSource = casoDeUso.Historicos; grvHistorico.DataBind(); ExibirMensagem("Caso de uso revisado com sucesso! " , lblMensagem, "60", ConfigurationManager.AppSettings["TOPO_MENSAGEM"], ConfigurationManager.AppSettings["COR_FUNDO_MENSAGEM"], ConfigurationManager.AppSettings["COR_TEXTO_MENSAGEM"]); } catch (NegocioException ne) { erro = ne.Message; log.Error(erro, ne); ExibirMensagem(erro, lblMensagem, "60", ConfigurationManager.AppSettings["TOPO_MENSAGEM"], ConfigurationManager.AppSettings["COR_FUNDO_MENSAGEM"], ConfigurationManager.AppSettings["COR_TEXTO_MENSAGEM"]); } catch (Exception ex) { erro = "Erro desconhecido. "; log.Error(erro, ex); ExibirMensagem(erro, lblMensagem, "60", ConfigurationManager.AppSettings["TOPO_MENSAGEM"], ConfigurationManager.AppSettings["COR_FUNDO_MENSAGEM"], ConfigurationManager.AppSettings["COR_TEXTO_MENSAGEM"]); } } }
protected void ModoEdicao(int id) { try { casoDeUso = (CasoDeUso)serviceCasoUso.RepositorioCasoDeUso.Get(typeof(CasoDeUso), id); ViewState["casoDeUso"] = casoDeUso; colecaoSubFluxos.AddRange(casoDeUso.SubFluxos); grvSubFluxos.DataSource = casoDeUso.SubFluxos; grvSubFluxos.DataBind(); ViewState["colecaoSubFluxos"] = colecaoSubFluxos; colecaoAtores.AddRange(casoDeUso.AtoresEnvolvidos); lstAtoresSelecionados.Items.AddRange(MontarColecaoDeListItem(colecaoAtores, "Id", campoParaAtor)); ViewState["colecaoAtores"] = colecaoAtores; colecaoCasosUsoExtends.AddRange(casoDeUso.CasosDeUsoExtendidos); lstCasosDeUsoExtendidos.Items.AddRange(MontarColecaoDeListItem(colecaoCasosUsoExtends, "Id", camposParaCasosUso)); ViewState["colecaoCasosUsoExtends"] = colecaoCasosUsoExtends; colecaoCasosUsoInclude.AddRange(casoDeUso.CasosDeUsoIncluidos); lstCasoDeUsoIncluidos.Items.AddRange(MontarColecaoDeListItem(colecaoCasosUsoInclude, "Id", camposParaCasosUso)); ViewState["colecaoCasosUsoInclude"] = colecaoCasosUsoInclude; txtNome.Text = casoDeUso.Nome; txtResumo.Text = casoDeUso.Resumo; txtPrecondicoes.Text = casoDeUso.PreCondicoes; txtPoscondicoes.Text = casoDeUso.PosCondicoes; FluxoBasico fluxoBasico = new FluxoBasico(); foreach (FluxoBasico fluxo in casoDeUso.FluxosBasicos) { fluxoBasico = fluxo; break; } txtNomeFluxoBasico.Text = fluxoBasico.NomeFluxo; txtDescricaoFluxoBasico.Text = fluxoBasico.Detalhamento; grvHistorico.DataSource = casoDeUso.Historicos; grvHistorico.DataBind(); pnlConteudo5.Visible = true; lnk5.Visible = true; btnAtualizar.Visible = true; btnSalvar.Visible = false; } catch (NullReferenceException nue) { erro = nue.Message; log.Error(erro, nue); Response.Redirect("~/Logout.aspx?mensagem=A sessão expirou. Por favor, efetue o login novamente. "); } catch (NegocioException ne) { erro = ne.Message; log.Error(erro, ne); ExibirMensagem(erro, lblMensagem, "60", ConfigurationManager.AppSettings["TOPO_MENSAGEM"], ConfigurationManager.AppSettings["COR_FUNDO_MENSAGEM"], ConfigurationManager.AppSettings["COR_TEXTO_MENSAGEM"]); } catch (WebUtilException ne) { erro = ne.Message; log.Error(erro, ne); ExibirMensagem(erro, lblMensagem, "60", ConfigurationManager.AppSettings["TOPO_MENSAGEM"], ConfigurationManager.AppSettings["COR_FUNDO_MENSAGEM"], ConfigurationManager.AppSettings["COR_TEXTO_MENSAGEM"]); } catch (Exception e) { erro = e.Message; log.Error(erro, e); ExibirMensagem(erro, lblMensagem, "60", ConfigurationManager.AppSettings["TOPO_MENSAGEM"], ConfigurationManager.AppSettings["COR_FUNDO_MENSAGEM"], ConfigurationManager.AppSettings["COR_TEXTO_MENSAGEM"]); } }