Exemplo n.º 1
0
        private HelperTag ObterObjetoHelperTag(ManterHelperTag manterHelperTag)
        {
            if (string.IsNullOrWhiteSpace(txtDescricao.Text))
            {
                throw new AcademicoException("Campo \"Descrição\" é obrigatório.");
            }

            if (txtDescricao.Text.Length > 4000)
            {
                throw new AcademicoException("Campo \"Descrição\" só pode ter no máximo 4000 caracteres..");
            }

            var chave = hdnHelperTagChave.Value;

            var paginaId = int.Parse(hdnHelperTagPaginaId.Value);

            var helper = chave != "0" && !string.IsNullOrWhiteSpace(chave) && paginaId != 0
                ? manterHelperTag.ObterPorChavePagina(chave, paginaId)
                : new HelperTag {
                Pagina = ObterPaginaAtual()
            };

            helper.Descricao = txtDescricao.Text;

            return(helper);
        }
Exemplo n.º 2
0
        protected void btnEditarHelperTag_OnClick(object sender, EventArgs e)
        {
            var master = ObterMasterPagePrincipal();

            // Atribuir os valores da descrição e do ID do helper no Modal lá da Masterpage.
            if (master != null)
            {
                var modal = master.FindControl("ModalEdicaoHelperTag");

                if (modal != null)
                {
                    var backDrop = master.FindControl("pnlbackdrop");

                    if (backDrop != null)
                    {
                        backDrop.Visible = true;
                    }

                    modal.Visible = true;

                    var paginaAtual = ObterPaginaAtual();

                    if (paginaAtual != null)
                    {
                        var tag = new ManterHelperTag().ObterPorChavePagina(Chave, paginaAtual.ID);

                        // Caso não exista cria um registro de tag vazia no banco isso evita o cadastro manual de novas tags
                        if (tag == null && !String.IsNullOrEmpty(Chave) && paginaAtual.ID != 0)
                        {
                            tag        = new HelperTag();
                            tag.Pagina = paginaAtual;
                            tag.Chave  = Chave;
                            new ManterHelperTag().Salvar(tag);
                        }

                        if (tag != null)
                        {
                            ((HiddenField)modal.FindControl("hdnHelperTagChave")).Value    = tag.Chave;
                            ((HiddenField)modal.FindControl("hdnHelperTagPaginaId")).Value = tag.Pagina.ID.ToString();
                            ((CKEditorControl)modal.FindControl("txtDescricao")).Text      = tag.Descricao;
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Chave))
            {
                HelperTag.Visible          = true;
                btnEditarHelperTag.Visible = true;

                // Se certifica que as tags estão na sessão para evitar consultar ao banco.
                if (Session["HelperTags"] == null)
                {
                    Session["HelperTags"] = new ManterHelperTag().ObterTodos().ToList();
                }

                // Salva se o usuário logado é admin para evitar consultar para cada Tag.
                var usuarioLogadoIsAdmin = Session["UsuarioLogadoIsAdmin"] != null
                    ? (bool)Session["UsuarioLogadoIsAdmin"]
                    : new ManterUsuario().ObterUsuarioLogado().IsAdministrador();

                // Exibir edição somente para Administradores.
                if (!usuarioLogadoIsAdmin)
                {
                    btnEditarHelperTag.Visible = false;
                }

                var tagAtual = ObterTagAtual();

                // Obtém o texto de ajuda ou informa caso não exista.
                var descricao = tagAtual == null || string.IsNullOrWhiteSpace(tagAtual.Descricao)
                    ? "Texto de ajuda não informado"
                    : tagAtual.Descricao;

                HelperTag.Attributes["data-content"] = descricao;

                // Caso a descrição tenha mais de 100 caracteres, adicionar uma classe no popover para deixá-lo mais largo.
                if (descricao.Length > 100)
                {
                    CustomClass = "popover-lg";
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Buscar a tag atual de acordo com o campo Chave. Em vez de buscar do banco, busca da sessão para evitar sobrecarga.
        /// </summary>
        /// <returns></returns>
        private HelperTag ObterTagAtual()
        {
            List <HelperTag> tags;

            // Obtém a tag atual da sessão, caso exista. Se não existir, obtém do banco e atualiza a sessão para o próximo uso.
            if (Session["HelperTags"] != null)
            {
                tags = Session["HelperTags"] as List <HelperTag>;
            }
            else
            {
                tags = new ManterHelperTag().ObterTodos().ToList();

                Session["HelperTags"] = tags;
            }

            var paginaAtual = ObterPaginaAtual();

            return(tags != null && paginaAtual != null
                ? tags.FirstOrDefault(x => x.Chave == Chave && x.Pagina.ID == paginaAtual.ID)
                : null);
        }
Exemplo n.º 5
0
        protected void btnSalvarHelper_OnClick(object sender, EventArgs e)
        {
            try
            {
                var manterHelperTag = new ManterHelperTag();

                var helper = ObterObjetoHelperTag(manterHelperTag);

                manterHelperTag.Salvar(helper);

                // Atualizar as tags da sessão.
                Session["HelperTags"] = new ManterHelperTag().ObterTodos().ToList();

                WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Texto de ajuda salvo com sucesso.");

                btnFecharHelper_OnClick(null, null);
            }
            catch (AcademicoException ex)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
            }
        }