Introduced the RecordState property to manage the state of prospects, enabling soft deletion and restoration. Updated related database migrations, UI interactions, and filtering logic to accommodate this addition. Also included automatic database migration at runtime to ensure schema compatibility.
75 lines
2.0 KiB
C#
75 lines
2.0 KiB
C#
using FoodsharingSiegen.Contracts.Entity;
|
|
using FoodsharingSiegen.Contracts.Helper;
|
|
using FoodsharingSiegen.Contracts.Model;
|
|
using FoodsharingSiegen.Server.Data.Service;
|
|
using FoodsharingSiegen.Server.Dialogs;
|
|
using Microsoft.AspNetCore.Components;
|
|
|
|
namespace FoodsharingSiegen.Server.Pages
|
|
{
|
|
/// <summary>
|
|
/// The prospects done class (a. beging, 07.02.2023)
|
|
/// </summary>
|
|
public partial class ProspectsAll
|
|
{
|
|
#region Dependencies
|
|
|
|
/// <summary>
|
|
/// Gets or sets the value of the prospect service (ab)
|
|
/// </summary>
|
|
[Inject]
|
|
public ProspectService ProspectService { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Gets or sets the value of the user service (ab)
|
|
/// </summary>
|
|
[Inject]
|
|
public UserService UserService { get; set; } = null!;
|
|
|
|
#endregion
|
|
|
|
#region Private Properties
|
|
|
|
private ProspectFilter Filter { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Gets or sets the value of the prospect list (ab)
|
|
/// </summary>
|
|
private List<Prospect>? ProspectList { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Override InitializeDataAsync
|
|
|
|
/// <inheritdoc />
|
|
protected override async Task InitializeDataAsync()
|
|
{
|
|
if(!CurrentUser.IsAdmin()) NavigationManager.NavigateTo("/");
|
|
|
|
// Load prospects
|
|
await LoadProspects();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Private Method LoadProspects
|
|
|
|
/// <summary>
|
|
/// Loads the prospects (a. beging, 11.04.2022)
|
|
/// </summary>
|
|
private async Task LoadProspects()
|
|
{
|
|
var parameter = new GetProspectsParameter
|
|
{
|
|
IncludeDeleted = true
|
|
};
|
|
|
|
var prospectsR = await ProspectService.GetProspectsAsync(parameter);
|
|
if (prospectsR.Success) ProspectList = prospectsR.Data;
|
|
|
|
await InvokeAsync(StateHasChanged);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |