namespace Webzine.WebApplication.ViewComponents
{
using Microsoft.AspNetCore.Mvc;
using Webzine.Repository.Contracts;
///
/// View component pour la sidebar, récupère les styles depuis le repository.
///
public class SidebarViewComponent : ViewComponent
{
private readonly IStyleRepository styleRepository;
///
/// Initializes a new instance of the class.
///
/// Repository des styles injecté.
public SidebarViewComponent(IStyleRepository styleRepository)
{
this.styleRepository = styleRepository;
}
///
/// Récupère tous les styles triés par libellé et les passe à la vue.
///
/// Une vue contenant la liste des styles.
public IViewComponentResult Invoke()
{
var styles = this.styleRepository.FindAll()
.OrderBy(s => s.Libelle)
.ToList();
return this.View(styles);
}
}
}