Files
FoodsharingOnboarding/FoodsharingSiegen.Server/Pages/Prospects.razor.cs
Andre Beging 51088460b4 Prospects Page
2022-04-02 15:28:45 +02:00

64 lines
2.0 KiB
C#

using FoodsharingSiegen.Contracts.Entity;
using FoodsharingSiegen.Server.Data.Service;
using FoodsharingSiegen.Server.Dialogs;
using Microsoft.AspNetCore.Components;
namespace FoodsharingSiegen.Server.Pages
{
public partial class Prospects
{
[Inject] public ProspectService ProspectService { get; set; } = null!;
[Inject] public UserService UserService { get; set; } = null!;
public List<Prospect>? ProspectList { get; set; }
public AddProspectModal ProspectModal { get; set; } = null!;
public AddInteractionModal InteractionModal { get; set; }
public List<User>? Users { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await LoadProspects();
}
await base.OnAfterRenderAsync(firstRender);
}
protected override async Task OnInitializedAsync()
{
var getUsersR = await UserService.GetUsersAsync();
if (getUsersR.Success)
Users = getUsersR.Data;
await base.OnInitializedAsync();
}
private async Task LoadProspects()
{
var prospectsR = await ProspectService.GetProspectsAsync();
if (prospectsR.Success) ProspectList = prospectsR.Data;
await InvokeAsync(StateHasChanged);
}
private async Task OnAddProspect(Prospect arg)
{
var addProspectR = await ProspectService.AddProspectAsync(arg);
if (addProspectR.Success) await LoadProspects();
}
private async Task OnAddInteraction(Interaction arg)
{
await ProspectService.AddInteraction(arg);
await LoadProspects();
}
private async Task RemoveInteraction(Guid arg)
{
await ProspectService.RemoveInteraction(arg);
await LoadProspects();
}
}
}