From 3c9cf37e2d7f30a9565b46a3aa87db5f9875b9db Mon Sep 17 00:00:00 2001 From: Pat Hartl Date: Sun, 2 Apr 2023 20:50:09 -0500 Subject: [PATCH] Page to view saves for a game --- LANCommander/Pages/Games/Index.razor | 8 ++++ LANCommander/Pages/Games/Saves.razor | 61 ++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 LANCommander/Pages/Games/Saves.razor diff --git a/LANCommander/Pages/Games/Index.razor b/LANCommander/Pages/Games/Index.razor index 75e17c0..04a1c59 100644 --- a/LANCommander/Pages/Games/Index.razor +++ b/LANCommander/Pages/Games/Index.razor @@ -26,6 +26,9 @@ + + + @@ -65,6 +68,11 @@ NavigationManager.NavigateTo("/Games/Add"); } + private void ViewSaves(Game game) + { + NavigationManager.NavigateTo($"/Games/{game.Id}/Saves", true); + } + private void Edit(Game game) { NavigationManager.NavigateTo($"/Games/{game.Id}/Edit", true); diff --git a/LANCommander/Pages/Games/Saves.razor b/LANCommander/Pages/Games/Saves.razor new file mode 100644 index 0000000..70ed466 --- /dev/null +++ b/LANCommander/Pages/Games/Saves.razor @@ -0,0 +1,61 @@ +@page "/Games/{id:guid}/Saves" +@using LANCommander.Models; +@using System.IO.Compression; +@attribute [Authorize(Roles = "Administrator")] +@inject GameService GameService +@inject CompanyService CompanyService +@inject GenreService GenreService +@inject TagService TagService +@inject ArchiveService ArchiveService +@inject ScriptService ScriptService +@inject IMessageService MessageService +@inject NavigationManager NavigationManager +@inject ModalService ModalService +@inject GameSaveService GameSaveService + + + + @context.User?.UserName + + + + @context.CreatedBy?.UserName + + + + + +
+ +@code { + [Parameter] public Guid Id { get; set; } + + ICollection GameSaves { get; set; } = new List(); + + bool Loading = true; + + protected override async Task OnInitializedAsync() + { + GameSaves = GameSaveService.Get(gs => gs.GameId == Id).OrderBy(gs => gs.User.UserName).ThenByDescending(gs => gs.CreatedOn).ToList(); + + Loading = false; + } + + private async Task Delete(GameSave gameSave) + { + GameSaves = new List(); + + Loading = true; + + await GameSaveService.Delete(gameSave); + + GameSaves = GameSaveService.Get().ToList(); + + Loading = false; + } +}