Files
ApplianceRepair/Components/Pages/Home.Razor.cs

38 lines
2.2 KiB
C#
Raw Normal View History

using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Caching.Memory;
2026-02-03 16:55:37 -06:00
namespace ApplianceRepair.Components.Pages
{
public partial class Home(IMemoryCache cache, HomePageReader homePageReader, ContentCardReader contentCardReader, BusinessConfigReader businessConfigReader) : ComponentBase
2026-02-03 16:55:37 -06:00
{
private HomePageModel? Model;
protected override async Task OnInitializedAsync()
{
// TODO: Figure out a better cache system, needs to be marked dirty if admin makes a config change
//if (!cache.TryGetValue(nameof(HomePageModel), out Model))
//{
// var businessConfig = await businessConfigReader.ReadLatestRecord() ?? Defaults.DefaultBusinessConfig;
// var latestHomeRecord = await homePageReader.ReadLatestRecord() ?? Defaults.DefaultHomePageContent;
// var servicesList = await contentCardReader.ReadAllByPageAndGroup(HomePageModel.PageName, nameof(HomePageModel.ContentCardTypes.Services)) ?? [];
// var trustList = await contentCardReader.ReadAllByPageAndGroup(HomePageModel.PageName, nameof(HomePageModel.ContentCardTypes.Trust)) ?? [];
2026-04-25 13:14:08 -05:00
// Model = new HomePageModel(latestHomeRecord, businessConfig, servicesList, trustList);
2026-02-03 16:55:37 -06:00
// var cacheOptions = new MemoryCacheEntryOptions()
// .SetAbsoluteExpiration(TimeSpan.FromHours(24))
// .SetSlidingExpiration(TimeSpan.FromHours(2));
2026-02-03 16:55:37 -06:00
// cache.Set(nameof(HomePageModel), Model, cacheOptions);
//}
var businessConfig = await businessConfigReader.ReadLatestRecord() ?? Defaults.DefaultBusinessConfig;
var latestHomeRecord = await homePageReader.ReadLatestRecord() ?? Defaults.DefaultHomePageContent;
var servicesList = await contentCardReader.ReadAllByPageAndGroup(HomePageModel.PageName, nameof(HomePageModel.ContentCardTypes.Services)) ?? [];
var trustList = await contentCardReader.ReadAllByPageAndGroup(HomePageModel.PageName, nameof(HomePageModel.ContentCardTypes.Trust)) ?? [];
Model = new HomePageModel(latestHomeRecord, businessConfig, servicesList, trustList);
2026-02-03 16:55:37 -06:00
}
}
}