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