using Microsoft.Extensions.Logging; using Tiger.Storage; namespace Tiger.Game.Catalogue; public class CatalogueManager : ICatalogueManager { private readonly IRepository _pagesRepository; private readonly ILogger _logger; public IDictionary Pages { get; private set; } public CatalogueManager(IRepository pagesRepository, ILogger logger) { _pagesRepository = pagesRepository; _logger = logger; Pages = new Dictionary(); } public async Task LoadPagesAsync() { Pages = (await _pagesRepository.FindByAsync()).ToDictionary(p => p.Id, p => p); _logger.LogInformation("Loaded {Count} catalogue pages", Pages.Count); } }