-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathIBreadcrumbRepository.cs
30 lines (27 loc) · 1018 Bytes
/
IBreadcrumbRepository.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using Generic.Models;
using MVCCaching;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Generic.Repositories.Interfaces
{
public interface IBreadcrumbRepository : IRepository
{
/// <summary>
/// Gets a list of Breadcrumbs
/// </summary>
/// <param name="nodeID">The Page Identifier (NodeID)</param>
/// <returns></returns>
Task<List<Breadcrumb>> GetBreadcrumbsAsync(int nodeID, bool includeDefaultBreadcrumb = true);
/// <summary>
/// Gets the Default Breadcrumb (built from Resource Strings)
/// </summary>
/// <returns></returns>
Task<Breadcrumb> GetDefaultBreadcrumbAsync();
/// <summary>
/// Converts Breadcrumbs into a list of JsonLD items
/// </summary>
/// <param name="breadcrumbs"></param>
/// <returns></returns>
Task<BreadcrumbJsonLD> BreadcrumbsToJsonLDAsync(IEnumerable<Breadcrumb> breadcrumbs, bool excludeFirst = true);
}
}