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