コード例 #1
0
        /// <summary>
        /// Cria colunas com TemplateField contendo checkboxes dinamicamente adicionando
        /// tantas colunas quanto requisitos houver, bem como montando
        /// a primeira coluna com todos os requisitos funcionais
        /// </summary>
        /// <param name="projetoCorrente">projeto contendo todos os requisitos</param>
        protected void MontarGridViewComColunasDinamicas(Projeto projetoCorrente)
        {
            service = new ServicoRastreabilidade();
            ICollection requisitos = service.RepositorioRequisito.GetAllByProjetoOrderByTypeAndCodigo(projetoCorrente);

            foreach (Requisito requisito in requisitos)
            {
                TemplateField customField = new TemplateField();
                customField.ItemTemplate = new CheckBoxMatrizTemplateCasoDeUso(DataControlRowType.DataRow,
                                                                               requisito.Id.ToString());
                customField.HeaderTemplate = new CheckBoxMatrizTemplateCasoDeUso(DataControlRowType.Header,
                                                                                 requisito.CodigoRequisito);
                grvMatrizCasoDeUso.Columns.Add(customField);
            }
            grvMatrizCasoDeUso.DataSource = service.RepositorioCasoDeUso.GetAllByProjetoOrderByCodigoCasoUso(projetoCorrente);
            grvMatrizCasoDeUso.DataBind();
        }
コード例 #2
0
        /// <summary>
        /// Cria colunas com TemplateField contendo checkboxes dinamicamente adicionando
        /// tantas colunas quanto requisitos não-funcionais houver, bem como montando
        /// a primeira coluna com todos os requisitos funcionais
        /// </summary>
        /// <param name="projetoCorrente">projeto contendo todos os requisitos</param>
        protected void MontarGridViewComColunasDinamicas(Projeto projetoCorrente)
        {
            service = new ServicoRastreabilidade();
            ICollection requisitosFuncionais    = service.RepositorioRequisito.GetAllFuctionalsByProjeto(projetoCorrente);
            ICollection requisitosNaoFuncionais = service.RepositorioRequisito.GetAllNonFuctionalsByProjeto(projetoCorrente);

            foreach (Requisito requisitoNaoFuncional in requisitosNaoFuncionais)
            {
                TemplateField customField = new TemplateField();
                customField.ItemTemplate = new CheckBoxMatrizTemplate(DataControlRowType.DataRow,
                                                                      requisitoNaoFuncional.Id.ToString());
                customField.HeaderTemplate = new CheckBoxMatrizTemplate(DataControlRowType.Header,
                                                                        requisitoNaoFuncional.CodigoRequisito);
                grvMatrizRequisito.Columns.Add(customField);
            }
            grvMatrizRequisito.DataSource = requisitosFuncionais;
            grvMatrizRequisito.DataBind();
        }
コード例 #3
0
        /// <summary>
        /// Evento que persiste a marcação ou desmarcação do checkbox que rastreia
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void CheckBoxGrvMatrizCasoDeUso_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox control = (CheckBox)sender;

            BuscarLabel(control);

            try
            {
                string[] ids = control.ID.Split('-');
                service = new ServicoRastreabilidade();
                Requisito requisito = (Requisito)service.RepositorioRequisito.Get(typeof(Requisito),
                                                                                  int.Parse(ids[0]));
                CasoDeUso casoDeUso = (CasoDeUso)service.RepositorioCasoDeUso.Get(typeof(CasoDeUso),
                                                                                  int.Parse(ids[1]));
                if (control.Checked)
                {
                    service.AdicionarRastreamento(casoDeUso, requisito);
                }
                else
                {
                    service.RemoverRastreamento(casoDeUso, requisito);
                }
            }
            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"]);
            }
        }