84 lines
2.3 KiB
C#
84 lines
2.3 KiB
C#
using Microsoft.AspNetCore.Components;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Blazored.Modal;
|
|
using Blazored.Toast.Services;
|
|
using Blazored.Modal.Services;
|
|
using Models = ReserveManagementSystemLib.Models;
|
|
using ReserveManagementSystemUI.Helpers;
|
|
using ReserveManagementSystemUI.Services;
|
|
using ReserveManagementSystemUI.Shared.Components;
|
|
|
|
namespace ReserveManagementSystemUI.Pages
|
|
{
|
|
public partial class History : ComponentBase
|
|
{
|
|
[Inject]
|
|
private ReserveService ReserveService { get; set; }
|
|
|
|
[Inject]
|
|
IToastService ToastService { get; set; }
|
|
|
|
[Inject]
|
|
IModalService Modal { get; set; }
|
|
|
|
[Inject]
|
|
GridHelpers GridHelpers { get; set; }
|
|
|
|
private List<Models.AuditHistory> reserveHistory = new List<Models.AuditHistory>();
|
|
private bool ascending;
|
|
private string currentSortedHeader;
|
|
private IModalReference openModal;
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if (firstRender)
|
|
{
|
|
openModal = Modal.Show<LoadingSpinner>();
|
|
await LoadHistoryData();
|
|
}
|
|
|
|
await base.OnAfterRenderAsync(firstRender);
|
|
}
|
|
|
|
private async Task<bool> LoadHistoryData()
|
|
{
|
|
var result = true;
|
|
reserveHistory = await ReserveService.GetHistory();
|
|
|
|
if (reserveHistory == null)
|
|
{
|
|
ToastService.ShowError("There was an issue retrieving history data.");
|
|
reserveHistory = new List<Models.AuditHistory>();
|
|
result = false;
|
|
}
|
|
|
|
StateHasChanged();
|
|
openModal.Close();
|
|
return result;
|
|
}
|
|
|
|
private void OnSortClick(string sortBy)
|
|
{
|
|
var sameClick = sortBy == currentSortedHeader;
|
|
if (sameClick)
|
|
{
|
|
ascending = !ascending;
|
|
}
|
|
|
|
if (ascending)
|
|
{
|
|
reserveHistory = GridHelpers.OrderByAscending(reserveHistory, sortBy);
|
|
}
|
|
else
|
|
{
|
|
reserveHistory = GridHelpers.OrderByDescending(reserveHistory, sortBy);
|
|
}
|
|
|
|
currentSortedHeader = sortBy;
|
|
|
|
StateHasChanged();
|
|
}
|
|
}
|
|
}
|