Files
SkyArtShop/Sky_Art_shop/Controllers/BlogController.cs

42 lines
1.2 KiB
C#
Raw Normal View History

using Microsoft.AspNetCore.Mvc;
using SkyArtShop.Models;
using SkyArtShop.Services;
namespace SkyArtShop.Controllers
{
public class BlogController : Controller
{
private readonly MongoDBService _mongoService;
private readonly string _blogCollection = "BlogPosts";
public BlogController(MongoDBService mongoService)
{
_mongoService = mongoService;
}
public async Task<IActionResult> Index()
{
var posts = await _mongoService.GetAllAsync<BlogPost>(_blogCollection);
var publishedPosts = posts
.Where(p => p.IsPublished)
.OrderByDescending(p => p.PublishedDate)
.ToList();
return View(publishedPosts);
}
public async Task<IActionResult> Post(string slug)
{
var posts = await _mongoService.GetAllAsync<BlogPost>(_blogCollection);
var post = posts.FirstOrDefault(p => p.Slug == slug && p.IsPublished);
if (post == null)
{
return NotFound();
}
return View(post);
}
}
}