예제 #1
0
        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"]);
                }
            }
        }
예제 #2
0
        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"]);
            }
        }