Ejemplo n.º 1
0
        protected void rptConteudos_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if ((e.Item.ItemType == ListItemType.AlternatingItem) ||
                (e.Item.ItemType == ListItemType.Item))
            {
                int obj_id = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "obj_id"));
                int ctd_id = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "ctd_id"));

                // Carregar tipos de período calendário.
                Repeater rptTiposPeriodo = (Repeater)e.Item.FindControl("rptTiposPeriodo");
                rptTiposPeriodo.DataSource = ORC_ConteudoTipoPeriodoCalendarioBO.SelecionaPor_Conteudo(obj_id, ctd_id);
                rptTiposPeriodo.DataBind();

                // Carregar itens de conteúdo e habilidades.
                Repeater rptConteudoItem = (Repeater)e.Item.FindControl("rptConteudoItem");
                Repeater rptHabilidades  = (Repeater)e.Item.FindControl("rptHabilidades");

                if (listaConteudoCadastro == null)
                {
                    // Se a lista da tela não foi carregada, carrega os dados do banco.
                    rptConteudoItem.DataSource = ORC_ConteudoItemBO.SelecionaPor_Conteudo(obj_id, ctd_id);
                    rptHabilidades.DataSource  = ORC_HabilidadesBO.SelecionaPor_Conteudo(obj_id, ctd_id);
                }
                else
                {
                    // Se a lista foi carregada, significa que foi adicionado um item dinamicamente, carregar
                    // dados a partir da lista.
                    var x = from ORC_Conteudo_Cadastro item in listaConteudoCadastro
                            where
                            item.entConteudo.ctd_id == ctd_id &&
                            item.entConteudo.obj_id == obj_id
                            select item;

                    if (x.Count() > 0)
                    {
                        rptConteudoItem.DataSource = x.First().listItensConteudo;
                        rptHabilidades.DataSource  = x.First().listHabilidades;
                    }
                }

                rptConteudoItem.DataBind();
                rptHabilidades.DataBind();

                // Altera a visibilidade do botão de excluir conteúdo.
                ImageButton btnExcluirConteudo = (ImageButton)e.Item.FindControl("btnExcluirConteudo");
                if (btnExcluirConteudo != null)
                {
                    btnExcluirConteudo.Visible         = !editandoItemObjetivo && __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir;
                    btnExcluirConteudo.CommandArgument = obj_id + ";" + ctd_id;
                }
            }
        }
Ejemplo n.º 2
0
        protected void rptObjetivos_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Header)
            {
                // Carregar header com nomes tipos de período calendário.
                Repeater rptTiposPeriodo = (Repeater)e.Item.FindControl("rptTiposPeriodo");
                rptTiposPeriodo.DataSource = ORC_ConteudoTipoPeriodoCalendarioBO.SelecionaPor_Conteudo(-1, -1);
                rptTiposPeriodo.DataBind();
            }
            else if ((e.Item.ItemType == ListItemType.AlternatingItem) ||
                     (e.Item.ItemType == ListItemType.Item))
            {
                // Seta flag que indica se o item do Objetivo é o que está sendo editado.
                editandoItemObjetivo = VS_EditItem == e.Item.ItemIndex;

                int obj_id = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "obj_id"));

                // Carregar conteúdos do objetivo.
                DataTable dt = ORC_ConteudoBO.SelecionaPor_Objetivo(obj_id);

                HtmlTableCell tdObj = (HtmlTableCell)e.Item.FindControl("tdObj");
                tdObj.RowSpan = dt.Rows.Count;

                Repeater rptConteudos = (Repeater)e.Item.FindControl("rptConteudos");
                rptConteudos.DataSource = dt;
                AtualizaRepeaterConteudos(rptConteudos, e.Item);

                LinkButton Objetivo = (LinkButton)e.Item.FindControl("Objetivo");
                if (Objetivo != null)
                {
                    Objetivo.Enabled = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar;
                }

                // Altera a visibilidade do botão de excluir conteúdo.
                ImageButton btnExcluirObjetivo = (ImageButton)e.Item.FindControl("btnExcluirObjetivo");
                if (btnExcluirObjetivo != null)
                {
                    btnExcluirObjetivo.Visible         = !editandoItemObjetivo && __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir;
                    btnExcluirObjetivo.CommandArgument = obj_id.ToString();
                }
            }
        }