示例#1
0
        protected void btnNovoItemHabilidade_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                // Utilizado na validação de habilidade
                ImageButton  btn = (ImageButton)sender;
                RepeaterItem rptItemValidacao = (RepeaterItem)btn.NamingContainer;
                Repeater     rptValidacao     = (Repeater)rptItemValidacao.NamingContainer;
                foreach (RepeaterItem item in rptValidacao.Items)
                {
                    TextBox txtHabilidade = (TextBox)item.FindControl("txtDescricao");
                    if (string.IsNullOrEmpty(txtHabilidade.Text))
                    {
                        throw new ValidationException("Habilidade é obrigatório.");
                    }
                }

                Repeater rptItem;
                ORC_Conteudo_Cadastro  conteudo        = RetornaConteudo(sender, out rptItem);
                List <ORC_Habilidades> listHabilidades = conteudo.listHabilidades;

                // Novo item.
                ORC_Habilidades novoItem = new ORC_Habilidades
                {
                    obj_id = conteudo.entConteudo.obj_id
                    ,
                    ctd_id = conteudo.entConteudo.ctd_id
                };

                listHabilidades.Add(novoItem);

                // Seta flag que indica se o item do Objetivo é o que está sendo editado.
                editandoItemObjetivo = true;

                rptItem.DataSource = listHabilidades;
                rptItem.DataBind();
            }
            catch (ValidationException ex)
            {
                lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar adicionar item de conteúdo.", UtilBO.TipoMensagem.Erro);
            }
        }
示例#2
0
        /// <summary>
        /// Retorna os conteúdos cadastrados dentro da linha do objetivo.
        /// </summary>
        /// <param name="container">Linha do objetivo</param>
        /// <returns></returns>
        private List <ORC_Conteudo_Cadastro> RetornaConteudos(RepeaterItem container)
        {
            List <ORC_Conteudo_Cadastro> lista = new List <ORC_Conteudo_Cadastro>();
            Repeater rptConteudos = (Repeater)container.FindControl("rptConteudos");

            foreach (RepeaterItem item in rptConteudos.Items)
            {
                ORC_Conteudo_Cadastro entConteudos = RetornaConteudoCadastro(item);
                if ((entConteudos.listItensConteudo.Count > 0) ||
                    (entConteudos.listHabilidades.Count > 0) ||
                    (entConteudos.listPeriodos.Count > 0))
                {
                    lista.Add(entConteudos);
                }
            }

            return(lista);
        }
示例#3
0
        protected void btnAdicionarConteudo_Click(object sender, EventArgs e)
        {
            try
            {
                // Utilizado na validação de item do conteúdo e de habilidade
                Button       btn = (Button)sender;
                RepeaterItem rptItemConteudoValidacao = (RepeaterItem)btn.NamingContainer;
                Repeater     rptItemValidacao         = (Repeater)rptItemConteudoValidacao.FindControl("rptConteudoItem");
                foreach (RepeaterItem item in rptItemValidacao.Items)
                {
                    TextBox txtItem = (TextBox)item.FindControl("txtDescricao");
                    if (string.IsNullOrEmpty(txtItem.Text))
                    {
                        throw new ValidationException("Item do conteúdo é obrigatório.");
                    }
                }
                Repeater rptHabilidadeValidacao = (Repeater)rptItemConteudoValidacao.FindControl("rptHabilidades");
                foreach (RepeaterItem item in rptHabilidadeValidacao.Items)
                {
                    TextBox txtHabilidade = (TextBox)item.FindControl("txtDescricao");
                    if (string.IsNullOrEmpty(txtHabilidade.Text))
                    {
                        throw new ValidationException("Habilidade é obrigatório.");
                    }
                }

                // Adicionar item de conteúdo na lista de dados.
                Repeater rptContainer = RetornaRepeaterBotao(sender);
                List <ORC_Conteudo_Cadastro> lista = new List <ORC_Conteudo_Cadastro>();

                // Se o botão está dentro do repeater de objetivos - não tem item no repeater de conteúdo.
                if (!rptContainer.ID.Equals(rptObjetivos.ID))
                {
                    foreach (RepeaterItem item in rptContainer.Items)
                    {
                        lista.Add(RetornaConteudoCadastro(item));
                    }
                }

                int obj_id = -1;

                if (lista.Count > 0)
                {
                    ORC_Conteudo ent = lista.FindLast(p => p.entConteudo != null).entConteudo;

                    if (ent != null)
                    {
                        obj_id = ent.obj_id;
                    }
                }

                // Verifica a qtde de conteúdos cadastrados
                var x2 = from ORC_Conteudo_Cadastro cad in lista
                         select cad.entConteudo;

                // Gera um novo id para o conteúdo (utilizado apenas na tela)
                int ctd_id = x2.Count() + 1;

                ORC_Conteudo_Cadastro novoItem = CriaNovoConteudo(obj_id, ctd_id);

                lista.Add(novoItem);

                listaConteudoCadastro = lista;

                var x = from ORC_Conteudo_Cadastro cad in lista
                        select cad.entConteudo;

                // Seta flag que indica se o item do Objetivo é o que está sendo editado.
                editandoItemObjetivo = true;

                Repeater rptConteudos = rptContainer;

                if (rptContainer.ID.Equals(rptObjetivos.ID))
                {
                    RepeaterItem itemObjetivo = RetornaRepeaterItemBotao(sender);
                    rptConteudos = (Repeater)itemObjetivo.FindControl("rptConteudos");
                }

                // Dá o dataBind no repeater, e seta a propriedade Visible no botão de adicionar conteúdo.
                rptConteudos.DataSource = x;
                AtualizaRepeaterConteudos(rptConteudos, (RepeaterItem)rptConteudos.NamingContainer);

                RepeaterItem rptItem = (RepeaterItem)rptConteudos.NamingContainer;

                // Seta flag que indica se o item do Objetivo é o que está sendo editado.
                editandoItemObjetivo = true;

                // Atualiza o rowSpan da coluna de objetivos.
                HtmlTableCell tdObj = (HtmlTableCell)rptItem.FindControl("tdObj");
                tdObj.RowSpan = x.Count() + 1;

                listaConteudoCadastro = null;
            }
            catch (ValidationException ex)
            {
                lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar adicionar item de conteúdo.", UtilBO.TipoMensagem.Erro);
            }
        }