コード例 #1
0
        public IActionResult Index()
        {
            DataBase databaseContext = new DataBase();

            HomeIndexViewModel model = new HomeIndexViewModel();

            List <PostagemEntity> listaPostagens = databaseContext.Postagens
                                                   .Include(p => p.Categoria)
                                                   .Include(p => p.Revisoes)
                                                   .Include(p => p.Comentarios)
                                                   .ToList();

            foreach (PostagemEntity postagem in listaPostagens)
            {
                PostagemHomeIndex postagemHomeIndex = new PostagemHomeIndex();
                postagemHomeIndex.Titulo            = postagem.Titulo;
                postagemHomeIndex.Descricao         = postagem.Descricao;
                postagemHomeIndex.Categoria         = postagem.Categoria.Nome;
                postagemHomeIndex.NumeroComentarios = postagem.Comentarios.Count.ToString();
                postagemHomeIndex.PostagemId        = postagem.Id.ToString();

                // Obter última revisão
                RevisaoEntity ultimaRevisao = postagem.Revisoes.OrderByDescending(o => o.DataCriacao).FirstOrDefault();
                if (ultimaRevisao != null)
                {
                    postagemHomeIndex.Data = ultimaRevisao.DataCriacao.ToLongDateString();
                }

                model.Postagens.Add(postagemHomeIndex);
            }


            List <CategoriaEntity> listaCategorias = databaseContext.Categorias.ToList();

            foreach (CategoriaEntity categoria in listaCategorias)
            {
                Categoria categoriaHomeIndex = new Categoria();
                categoriaHomeIndex.Nome        = categoria.Nome;
                categoriaHomeIndex.CategoriaId = categoria.Id.ToString();

                model.Categorias.Add(categoriaHomeIndex);
            }


            List <EtiquetaEntity> listaEtiquetas = databaseContext.Etiquetas.ToList();

            foreach (EtiquetaEntity etiqueta in listaEtiquetas)
            {
                Etiqueta etiquetaHomeIndex = new Etiqueta();
                etiquetaHomeIndex.Nome       = etiqueta.Nome;
                etiquetaHomeIndex.EtiquetaId = etiqueta.Id.ToString();

                model.Etiquetas.Add(etiquetaHomeIndex);
            }


            return(View(model));
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: PythomX/Blog
        public IActionResult Index()
        {
            HomeIndexViewModel model = new HomeIndexViewModel();

            List <PostagemEntity> listaPostagens = postagemOrmService.GetAll();

            foreach (PostagemEntity postagem in listaPostagens)
            {
                PostagemHomeIndex postagemHomeIndex = new PostagemHomeIndex();
                postagemHomeIndex.Titulo            = postagem.Titulo;
                postagemHomeIndex.Texto             = postagem.Descricao;
                postagemHomeIndex.Categoria         = postagem.Categoria.Nome;
                postagemHomeIndex.NumeroComentarios = postagem.Comentarios.Count.ToString();
                postagemHomeIndex.Id = postagem.Id.ToString();

                RevisaoEntity ultimaRevisao = postagem.Revisoes.OrderByDescending(o => o.DataCriacao).FirstOrDefault();

                if (ultimaRevisao != null)
                {
                    postagemHomeIndex.DataCriacao = ultimaRevisao.DataCriacao.ToLongDateString();
                }

                model.Postagens.Add(postagemHomeIndex);
            }

            // Alimentar a lista de postagens populares que serão exibidas na view
            List <PostagemEntity> postagensPopulares = postagemOrmService.GetPostsPopular();

            foreach (PostagemEntity postagemPopular in postagensPopulares)
            {
                model.PostagensPopulares.Add(new PostagemHomeIndex.PostagemPopularHomeIndex()
                {
                    Categoria = postagemPopular.Categoria.Nome,
                    Id        = postagemPopular.Id.ToString(),
                    Titulo    = postagemPopular.Titulo
                });
            }


            return(View(model));
        }
コード例 #3
0
        public IActionResult Index()
        {
            // Instanciar a ViewModel
            HomeIndexViewModel model = new HomeIndexViewModel();

            // Alimentar a lista de postagens que serão exibidas na view
            List <PostagemEntity> listaPostagens = _postagemOrmService.ObterPostagens();

            foreach (PostagemEntity postagem in listaPostagens)
            {
                PostagemHomeIndex postagemHomeIndex = new PostagemHomeIndex();
                postagemHomeIndex.Titulo            = postagem.Titulo;
                postagemHomeIndex.Descricao         = postagem.Descricao;
                postagemHomeIndex.Categoria         = postagem.Categoria.Nome;
                postagemHomeIndex.NumeroComentarios = postagem.Comentarios.Count.ToString();
                postagemHomeIndex.PostagemId        = postagem.Id.ToString();

                // Obter última revisão
                RevisaoEntity ultimaRevisao = postagem.Revisoes.OrderByDescending(o => o.DataCriacao).FirstOrDefault();
                if (ultimaRevisao != null)
                {
                    postagemHomeIndex.Data = ultimaRevisao.DataCriacao.ToLongDateString();
                }

                model.Postagens.Add(postagemHomeIndex);
            }

            // Alimentar a lista de categorias que serão exibidas na view
            List <CategoriaEntity> listaCategorias = _categoriaOrmService.ObterCategorias();

            foreach (CategoriaEntity categoria in listaCategorias)
            {
                CategoriaHomeIndex categoriaHomeIndex = new CategoriaHomeIndex();
                categoriaHomeIndex.Nome        = categoria.Nome;
                categoriaHomeIndex.CategoriaId = categoria.Id.ToString();

                model.Categorias.Add(categoriaHomeIndex);

                // Alimentar a lista de etiquetas que serão exibidas na view, a partir das etiquetas da categoria
                foreach (EtiquetaEntity etiqueta in categoria.Etiquetas)
                {
                    EtiquetaHomeIndex etiquetaHomeIndex = new EtiquetaHomeIndex();
                    etiquetaHomeIndex.Nome       = etiqueta.Nome;
                    etiquetaHomeIndex.EtiquetaId = etiqueta.Id.ToString();

                    model.Etiquetas.Add(etiquetaHomeIndex);
                }
            }

            // Alimentar a lista de postagens populares que serão exibidas na view
            List <PostagemEntity> postagensPopulares = _postagemOrmService.ObterPostagensPopulares();

            foreach (PostagemEntity postagemPopular in postagensPopulares)
            {
                model.PostagensPopulares.Add(new PostagemPopularHomeIndex()
                {
                    Categoria  = postagemPopular.Categoria.Nome,
                    PostagemId = postagemPopular.Id.ToString(),
                    Titulo     = postagemPopular.Titulo
                });
            }

            return(View(model));
        }