using Microsoft.Extensions.Options; using System; using System.Linq; using zero.Core.Entities; namespace zero.Core.Api { public class SectionsApi : ISectionsApi { protected ZeroOptions Options { get; private set; } public SectionsApi(IOptionsMonitor options) { Options = options.CurrentValue; } /// public SectionCollection GetAll() { return Options.Sections; } /// public ISection GetByAlias(string alias) { return Options.Sections.FirstOrDefault(section => section.Alias.Equals(alias, StringComparison.InvariantCultureIgnoreCase)); } } public interface ISectionsApi { /// /// Get all available backoffice sections /// SectionCollection GetAll(); /// /// Get backoffice section by alias /// ISection GetByAlias(string alias); } }