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? ProspectList { get; set; } public AddProspectModal ProspectModal { get; set; } = null!; public AddInteractionModal InteractionModal { get; set; } public List? 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(); } } }