diff --git a/Lieb/Pages/Raids/RaidOverview.razor b/Lieb/Pages/Raids/RaidOverview.razor
index 8df4cac..76fecd4 100644
--- a/Lieb/Pages/Raids/RaidOverview.razor
+++ b/Lieb/Pages/Raids/RaidOverview.razor
@@ -25,6 +25,18 @@
StartFilterChanged(args)" />
To:
EndFilterChanged(args)" />
+ RaidGroup:
+
@@ -42,6 +54,7 @@
private LiebUser? _user;
private DateTime _startDate = DateTime.Now.Date;
private DateTime _endDate = DateTime.Now.Date.AddDays(15).AddSeconds(-1);
+ private string _filterRole = string.Empty;
private List _raidsToShow;
protected override async Task OnInitializedAsync()
@@ -55,18 +68,40 @@
}
_raids = RaidService.GetRaids();
- _raidsToShow = _raids.Where(r => r.StartTimeUTC > _startDate && r.StartTimeUTC < _endDate).ToList();
+ ApplyFilter();
}
private void StartFilterChanged(ChangeEventArgs e)
{
_startDate = DateTime.Parse(e.Value.ToString());
- _raidsToShow = _raids.Where(r => r.StartTimeUTC > _startDate && r.StartTimeUTC < _endDate).ToList();
+ ApplyFilter();
}
-
+
private void EndFilterChanged(ChangeEventArgs e)
{
_endDate = DateTime.Parse(e.Value.ToString()).AddDays(1).AddSeconds(-1);
- _raidsToShow = _raids.Where(r => r.StartTimeUTC > _startDate && r.StartTimeUTC < _endDate).ToList();
+ ApplyFilter();
+ }
+
+ private void GroupFilterChanged(ChangeEventArgs e)
+ {
+ _filterRole = e.Value?.ToString();
+ ApplyFilter();
+ }
+
+ private void ApplyFilter()
+ {
+ if(String.IsNullOrEmpty(_filterRole))
+ {
+ _raidsToShow = _raids.Where(r => r.StartTimeUTC > _startDate && r.StartTimeUTC < _endDate).ToList();
+ }
+ else if(_filterRole == "No Group")
+ {
+ _raidsToShow = _raids.Where(r => r.StartTimeUTC > _startDate && r.StartTimeUTC < _endDate && string.IsNullOrEmpty(r.RequiredRole)).ToList();
+ }
+ else
+ {
+ _raidsToShow = _raids.Where(r => r.StartTimeUTC > _startDate && r.StartTimeUTC < _endDate && r.RequiredRole == _filterRole).ToList();
+ }
}
}