@page "/Monitor"
@if (_isInitialized) {
User
Manage devices
@foreach (var user in AssignedUsers) {
Assigned user @user
@if (Alarms.ContainsKey(user)) {
🔔
@Alarms[user].Reason (@Alarms[user].CreatedAt)
}
else {
🔕
}
Manage
}
}
@if (!string.IsNullOrWhiteSpace(manageUserId)) {
ID: @manageUserId
@if (Alarms.ContainsKey(manageUserId)) {
User has alarm!
@Alarms[manageUserId].Reason at @Alarms[manageUserId].CreatedAt.ToLocalTime()
Clear
}
Budget: @manageUserBudget?.Amount EUR
Add money:
, reason:
Add budget
}
@code {
bool _isInitialized = false;
Dictionary Alarms { get; set; }
List AssignedUsers { get; set; }
protected override async Task OnInitializedAsync() {
Alarms = await App.MonitorClient.GetAllAlarms();
AssignedUsers = await App.MonitorClient.GetAssignedUsers();
_isInitialized = true;
}
string? manageUserId { get; set; }
BudgetWithHistory? manageUserBudget { get; set; }
BudgetHistoryEntry manageUserNewBudget { get; set; }
private async Task ManageUser(string user) {
manageUserId = user;
manageUserBudget = await App.MonitorClient.GetBudget(manageUserId);
manageUserBudget ??= new BudgetWithHistory {
Amount = 0,
History = []
};
manageUserNewBudget = new() {
Venue = App.MonitorAuth.Username
};
StateHasChanged();
}
private async Task UpdateUserBudget() {
await App.MonitorClient.AddBudget(manageUserId, manageUserNewBudget);
await ManageUser(manageUserId);
}
}