public ActionResult Pergunta(string slugtopico)
        {
            if (CurrentUser.Data == null)
            {
                return(RedirectToAction("Topicos"));
            }

            var objTopico = ComunidadeService.GetComunidadeTopicoBySlug(slugtopico);

            var model = new ComunidadeTopicoPerguntaViewModel
            {
                /* base model defaults */
                Title       = "Enviar pergunta sobre " + objTopico.Titulo + " - Comunidades Virtuais Negócios da Terra",
                Description = "Enviar pergunta sobre " + objTopico.Titulo + " - Comunidades Virtuais Negócios da Terra",
                Robots      = "index, follow",
                Canonical   = $"{Constants.UrlWeb}/comunidades-virtuais/{slugtopico}/pergunta",

                TopicoId        = objTopico.Id,
                TopicoTitulo    = objTopico.Titulo,
                TopicoDescricao = objTopico.Descricao,
                TopicoSlug      = slugtopico,
                CriadoPergunta  = false
            };

            if (Session["Aviso1"] != null)
            {
                model.CriadoPergunta = true;
                model.Aviso1         = Session["Aviso1"].ToString();
                Session["Aviso1"]    = null;
            }

            if (Session["Aviso2"] != null)
            {
                model.Aviso2      = Session["Aviso2"].ToString();
                Session["Aviso2"] = null;
            }

            //Set viewbag's
            ViewBag.ActiveNav     = "Negócios da Terra";
            ViewBag.Editorial     = Service.Models.Editorial.Load(EditorialEnum.NegociosDaTerra.GetHashCode());
            ViewBag.ExibirLogo    = true;
            ViewBag.LinkActiveNav = "/negocios-da-terra";

            return(View(model));
        }
        public ActionResult Pergunta(TopicoPergunta pergunta)
        {
            try
            {
                var usuario = Usuario.Load(CurrentUser.Data.SubjectId);
                var topico  = ComunidadeTopico.Load(pergunta.Topico);

                var objPergunta = new ComunidadePergunta
                {
                    Pergunta           = pergunta.Titulo,
                    Descricao          = pergunta.Descricao,
                    Slug               = Text.SetFriendlyName(pergunta.Titulo), // ConvertToSlug(pergunta.Titulo),
                    Data               = DateTime.Now,
                    StatusPublicacaoId = topico.AtivaModeracao ? StatusComunidade.Pendente.Id : StatusComunidade.Publicada.Id,
                    ComunidadeTopicoId = pergunta.Topico,
                    UsuarioId          = usuario.Id
                };

                objPergunta.Save();

                Session["Aviso1"] = "Pergunta registrada com sucesso!";
                Session["Aviso2"] = topico.AtivaModeracao ? "Estamos analisando a sua pergunta. Em breve ela será publicada!" : "Sua pergunta já foi publicada.";

                if (topico.AtivaModeracao)
                {
                    var body = $@"<!DOCTYPE html>
                    <html lang='pt-br'>
                    <head>
                      <meta charset='UTF-8'>
                      <title>Comunidades Virtuais - Negócio da Terra - {topico.Titulo}</title>
                    </head>
                    <body>
                      <table bgcolor='#ffffff' width='600' border='0' cellpadding='0' cellspacing='0' align='center' style='font-family: Arial, sans-serif; font-size: 14px; color: #4f4f4f;'>
                        <tr>
                          <td style='text-align: center;'>
                            <a href='https://massanews.com/negocios-da-terra' target='_blank'><img src='https://cdn.massanews.com/static/images/logos/negocios-da-terra-horiz.png' alt='Negócio da Terra'></a>
                            <h3>Pergunta criada aguardando aprovação:</h3>
                            <h4>{objPergunta.Pergunta}</h4>
                            <h5>{objPergunta.Descricao}</h5>
                          </td>
                        </tr>
                      </table>
                    </body>
                    </html>";

                    foreach (var email in topico.EmailsNotificacao.Split(';'))
                    {
                        BackgroundJob.Enqueue(() => ToolService.SendEmail($"Pergunta criada - Comunidades Virtuais - {topico.Titulo} ", body, email));
                    }
                }

                return(RedirectToAction("Pergunta"));
            }
            catch (Exception)
            {
                var topico = ComunidadeTopico.Load(pergunta.Topico);

                var model = new ComunidadeTopicoPerguntaViewModel
                {
                    TopicoTitulo    = topico.Titulo,
                    TopicoDescricao = topico.Descricao,
                    TopicoSlug      = topico.Slug,
                    CriadoPergunta  = true,
                    Aviso1          = "Ops! Ocorreu um erro ao enviar a sua pergunta.",
                    Aviso2          = "Por favor, tente novamente!"
                };

                return(View(model));
            }

            //return Json("ok");
        }