edited admin page, added request viewer
This commit is contained in:
97
Components/Pages/admin/Admin.razor.cs
Normal file
97
Components/Pages/admin/Admin.razor.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
namespace ApplianceRepair.Components.Pages.admin
|
||||
{
|
||||
public partial class Admin(HomePageReader homePageReader, ContentCardReader contentCardReader, BusinessConfigReader businessConfigReader, RepairRequestReader repairRequestReader) : ComponentBase
|
||||
{
|
||||
public HomePageModel? HomePageModel;
|
||||
public BusinessInfoModel? BusinessInfo;
|
||||
public List<RepairRequestModel>? RepairRequests;
|
||||
|
||||
private enum AdminTab { Home, Requests, BusinessInfo }
|
||||
private AdminTab CurrentTab = AdminTab.Home;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
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)) ?? [];
|
||||
|
||||
BusinessInfo = new BusinessInfoModel(businessConfig);
|
||||
HomePageModel = new HomePageModel(latestHomeRecord, businessConfig, servicesList, trustList);
|
||||
|
||||
RepairRequests = [];
|
||||
(await repairRequestReader.ReadAll()).ForEach((record) =>
|
||||
{
|
||||
RepairRequests.Add(new RepairRequestModel(record));
|
||||
});
|
||||
}
|
||||
|
||||
private async void RevertHomePageModel()
|
||||
{
|
||||
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)) ?? [];
|
||||
|
||||
BusinessInfo = new BusinessInfoModel(businessConfig);
|
||||
HomePageModel = new HomePageModel(latestHomeRecord, businessConfig, servicesList, trustList);
|
||||
}
|
||||
|
||||
private async void RevertBusinessInfo()
|
||||
{
|
||||
var businessConfig = await businessConfigReader.ReadLatestRecord() ?? Defaults.DefaultBusinessConfig;
|
||||
BusinessInfo = new BusinessInfoModel(businessConfig);
|
||||
}
|
||||
|
||||
private async void SaveHomePageModel()
|
||||
{
|
||||
HomePageModel.UpdatedAt = DateTime.Now;
|
||||
await homePageReader.UpdateRecord(HomePageModel);
|
||||
|
||||
foreach (var card in HomePageModel.ServicesCards)
|
||||
{
|
||||
card.UpdatedAt = DateTime.Now;
|
||||
await contentCardReader.UpdateRecord(card);
|
||||
}
|
||||
|
||||
foreach (var card in HomePageModel.TrustCards)
|
||||
{
|
||||
card.UpdatedAt = DateTime.Now;
|
||||
await contentCardReader.UpdateRecord(card);
|
||||
}
|
||||
}
|
||||
|
||||
private async void SaveBusinessInfo()
|
||||
{
|
||||
BusinessInfo.UpdatedAt = DateTime.Now;
|
||||
await businessConfigReader.UpdateRecord(BusinessInfo);
|
||||
}
|
||||
|
||||
private void AddServiceCard()
|
||||
{
|
||||
HomePageModel?.ServicesCards.Add(new ContentCardModel() {
|
||||
CreatedAt = DateTime.Now,
|
||||
UpdatedAt = DateTime.Now,
|
||||
BelongsToPage = HomePageModel.PageName,
|
||||
Group = HomePageModel.ContentCardTypes.Services.ToString(),
|
||||
Header = "Service Name",
|
||||
Text = "Short Description"
|
||||
});
|
||||
}
|
||||
|
||||
private async void AddTrustCard()
|
||||
{
|
||||
HomePageModel?.TrustCards.Add(new ContentCardModel()
|
||||
{
|
||||
CreatedAt = DateTime.Now,
|
||||
UpdatedAt = DateTime.Now,
|
||||
BelongsToPage = HomePageModel.PageName,
|
||||
Group = HomePageModel.ContentCardTypes.Trust.ToString(),
|
||||
Header = "Header",
|
||||
Text = "Short Description"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user