Files
SkyArtShop/ViewComponents/NavigationViewComponent.cs

37 lines
923 B
C#
Raw Normal View History

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using SkyArtShop.Models;
using SkyArtShop.Services;
namespace SkyArtShop.ViewComponents;
public class NavigationViewComponent : ViewComponent
{
private readonly PostgreSQLService _pgService;
public NavigationViewComponent(PostgreSQLService pgService)
{
_pgService = pgService;
}
public async Task<IViewComponentResult> InvokeAsync(string location = "navbar")
{
List<MenuItem> source = await _pgService.GetAllAsync<MenuItem>("MenuItems");
if (location == "dropdown")
{
List<MenuItem> model = (from m in source
where m.IsActive && m.ShowInDropdown
orderby m.DisplayOrder
select m).ToList();
return View(model);
}
List<MenuItem> model2 = (from m in source
where m.IsActive && m.ShowInNavbar
orderby m.DisplayOrder
select m).ToList();
return View(model2);
}
}