public ActionResult Topicos(string slugtopico)
        {
            var objTopico = ComunidadeService.GetComunidadeTopicoBySlug(slugtopico);

            var lstPerguntas = new List <Perguntas>();

            foreach (var pergunta in ComunidadeService.GetAllPerguntasByTopicoAndStatus(objTopico.Id, StatusComunidade.Publicada.Id, 0))
            {
                Perguntas obj = new Perguntas
                {
                    Id          = pergunta.Id,
                    Pergunta    = pergunta.Pergunta,
                    Descricao   = pergunta.Descricao,
                    Slug        = pergunta.Slug,
                    Usuario     = pergunta.Usuario.Nome,
                    Data        = pergunta.Data,
                    QtdResposta = ComunidadeService.CountRepostaByPergunta(pergunta.Id)
                };

                lstPerguntas.Add(obj);
            }

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

                /* model comunidade topico perguntas */
                SlugTopico = slugtopico,
                Nome       = objTopico.Titulo,
                Descricao  = objTopico.Descricao,
                ComunidadeEspecialistas = ComunidadeService.GetEspecialistasByTopico(objTopico.Id).ToList(),
                ComunidadeVideos        = ComunidadeService.GetVideosByTopico(objTopico.Id).ToList(),
                ComunidadePerguntas     = lstPerguntas
            };

            //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 TopicosRespostas(string slugtopico, string slugpergunta)
        {
            Usuario usuario = new Usuario();

            if (CurrentUser.Data != null)
            {
                usuario = Usuario.Load(CurrentUser.Data.SubjectId);
            }

            var objTopico   = ComunidadeService.GetComunidadeTopicoBySlug(slugtopico);
            var objPergunta = ComunidadeService.GetComunidadePerguntaBySlug(slugpergunta);

            var lstResposta = new List <Respostas>();

            foreach (var resposta in ComunidadeService.GetAllRespostasByPerguntaAndStatus(objPergunta.Id, StatusComunidade.Publicada.Id, 0))
            {
                Respostas objResposta = new Respostas
                {
                    Id              = resposta.Id,
                    Resposta        = resposta.Resposta,
                    Usuario         = resposta.Usuario.Nome,
                    IsEspecialista  = resposta.Usuario.IsEspecialista,
                    Data            = resposta.Data,
                    UserCurtida     = usuario.Id > 0 ? ComunidadeService.RespostaUserCurtida(usuario.Id, resposta.Id, true) : false,
                    CountCurtida    = ComunidadeService.CountCurtidaResposta(resposta.Id, true),
                    UserNaoCurtida  = usuario.Id > 0 ? ComunidadeService.RespostaUserCurtida(usuario.Id, resposta.Id, false) : false,
                    CountNaoCurtida = ComunidadeService.CountCurtidaResposta(resposta.Id, false)
                };

                var lstComentario = new List <Comentarios>();

                foreach (var comentario in ComunidadeService.GetAllComentariosByRespostaAndStatus(resposta.Id, StatusComunidade.Publicada.Id, 0))
                {
                    Comentarios objComentario = new Comentarios
                    {
                        Id              = comentario.Id,
                        Comentario      = comentario.Comentario,
                        Usuario         = comentario.Usuario.Nome,
                        IsEspecialista  = comentario.Usuario.IsEspecialista,
                        Data            = comentario.Data,
                        UserCurtida     = usuario.Id > 0 ? ComunidadeService.ComentarioUserCurtida(usuario.Id, comentario.Id, true) : false,
                        CountCurtida    = ComunidadeService.CountCurtidaComentario(comentario.Id, true),
                        UserNaoCurtida  = usuario.Id > 0 ? ComunidadeService.ComentarioUserCurtida(usuario.Id, comentario.Id, false) : false,
                        CountNaoCurtida = ComunidadeService.CountCurtidaComentario(comentario.Id, false),
                    };

                    lstComentario.Add(objComentario);
                }

                objResposta.Comentarios = lstComentario;

                lstResposta.Add(objResposta);
            }

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

                Pergunta = new Perguntas
                {
                    Id          = objPergunta.Id,
                    Topico      = objTopico.Titulo,
                    Pergunta    = objPergunta.Pergunta,
                    Descricao   = objPergunta.Descricao,
                    Data        = objPergunta.Data,
                    Usuario     = objPergunta.Usuario.Nome,
                    Slug        = slugtopico,
                    QtdResposta = ComunidadeService.CountRepostaByPergunta(objPergunta.Id)
                },
                ComunidadeRespostas     = lstResposta,
                ComunidadeEspecialistas = ComunidadeService.GetEspecialistasByTopico(objTopico.Id).ToList(),
                ComunidadeVideos        = ComunidadeService.GetVideosByTopico(objTopico.Id).ToList()
            };

            //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));
        }