Add Blazor WebApp and rework data handling to utilize Entity Framework

This commit is contained in:
2025-09-11 11:49:48 -04:00
parent 5220e61c79
commit 3daa3b81b3
111 changed files with 6039 additions and 946 deletions
+57
View File
@@ -0,0 +1,57 @@
using Core.Entities;
using MudBlazor;
namespace WebApp.Models
{
public static class AppIcons
{
private const string Prefix = "@Icons.Material.Filled.";
public static string LevelOfEffortIcon(int loe)
{
return loe switch
{
1 => MudBlazor.Icons.Material.Filled.StarBorder,
2 => MudBlazor.Icons.Material.Filled.StarHalf,
3 => MudBlazor.Icons.Material.Filled.Star,
_ => MudBlazor.Icons.Material.Filled.QuestionMark
};
}
public static string OfficerRoleIcon(OfficerRole officerRole)
{
return officerRole switch
{
OfficerRole.President => MudBlazor.Icons.Material.Filled.Gavel,
OfficerRole.VicePresident => MudBlazor.Icons.Material.Filled.StarBorderPurple500,
OfficerRole.Secretary => MudBlazor.Icons.Material.Filled.Draw,
OfficerRole.Treasurer => MudBlazor.Icons.Material.Filled.Key,
OfficerRole.Reporter => MudBlazor.Icons.Material.Filled.Mic,
OfficerRole.SergeantAtArms => MudBlazor.Icons.Material.Filled.Handshake,
_ => throw new ArgumentOutOfRangeException(nameof(officerRole), officerRole, null)
};
}
public static string RankedEvent(int rank)
{
return rank switch
{
1 => "#dd7e6b",
2 => "#ea9999",
3 => "#f9cb9c",
4 => "#ffe599",
5 => "#fff2cc",
6 => "#fffaea",
_ => "#ddd"
};
}
/*
* #dd7e6b;
#ea9999;
#f9cb9c;
#ffe599;
#fff2cc;
#fffaea;
*/
}
}
+16
View File
@@ -0,0 +1,16 @@
using BlazorSortableList;
using Core.Entities;
namespace WebApp.Models;
/// <summary>
/// Class SharedSortableListGroup.
/// Used for BlazorSortableList
/// </summary>
internal class SharedSortableListGroup : MultiSortableListGroup<EventDefinition>
{
public SharedSortableListGroup(Action refreshComponent)
: base(refreshComponent)
{
}
}