From 0acd9485d4da9c847e863fa43b63d60ab378609b Mon Sep 17 00:00:00 2001 From: Andre Beging Date: Wed, 8 Feb 2023 16:05:45 +0100 Subject: [PATCH] =?UTF-8?q?Anzeige=20des=20Prospect=20Pages=20=C3=BCberarb?= =?UTF-8?q?eitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controls/ProspectContainer.razor | 2 +- .../Controls/ProspectContainer.razor.cs | 2 +- .../Pages/ProspectsDone.razor.cs | 9 +-- .../Pages/ProspectsTodo.razor | 7 ++- .../Pages/ProspectsTodo.razor.cs | 63 ++++++++++++++++++- 5 files changed, 71 insertions(+), 12 deletions(-) diff --git a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor index 2842ee2..b4b64d2 100644 --- a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor +++ b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor @@ -10,7 +10,7 @@
- @if (CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador)) + @if (ProspectModal != null && CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador)) { } diff --git a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs index af92734..562e7e4 100644 --- a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs +++ b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs @@ -10,7 +10,7 @@ namespace FoodsharingSiegen.Server.Controls [Parameter] public AddInteractionModal InteractionModal { get; set; } = null!; - [Parameter] public AddProspectModal ProspectModal { get; set; } = null!; + [Parameter] public AddProspectModal? ProspectModal { get; set; } = null!; [Parameter] public EventCallback RemoveInteraction { get; set; } diff --git a/FoodsharingSiegen.Server/Pages/ProspectsDone.razor.cs b/FoodsharingSiegen.Server/Pages/ProspectsDone.razor.cs index 1f1eb35..18fe2d6 100644 --- a/FoodsharingSiegen.Server/Pages/ProspectsDone.razor.cs +++ b/FoodsharingSiegen.Server/Pages/ProspectsDone.razor.cs @@ -1,6 +1,7 @@ using FoodsharingSiegen.Contracts.Entity; using FoodsharingSiegen.Contracts.Model; using FoodsharingSiegen.Server.Data.Service; +using FoodsharingSiegen.Server.Dialogs; using Microsoft.AspNetCore.Components; namespace FoodsharingSiegen.Server.Pages @@ -8,7 +9,7 @@ namespace FoodsharingSiegen.Server.Pages /// /// The prospects done class (a. beging, 07.02.2023) /// - public partial class ProspectsTodo + public partial class ProspectsDone { #region Dependencies @@ -51,11 +52,7 @@ namespace FoodsharingSiegen.Server.Pages /// private async Task LoadProspects() { - var parameter = new GetProspectsParameter - { - CannotHaveInteractions = new List { InteractionType.Complete }, - MustHaveInteractions = new List { InteractionType.Verify } - }; + var parameter = new GetProspectsParameter { MustHaveInteractions = new List { InteractionType.Complete } }; var prospectsR = await ProspectService.GetProspectsAsync(parameter); if (prospectsR.Success) ProspectList = prospectsR.Data; diff --git a/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor b/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor index 5fa179a..23e9a54 100644 --- a/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor +++ b/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor @@ -13,7 +13,10 @@
Bereits verifiziert, aber noch nicht abgeschlossen. Zum Beispiel, wenn noch der Druck-Ausweis fehlt o.รค.
- +
-} \ No newline at end of file +} + + + \ No newline at end of file diff --git a/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor.cs b/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor.cs index b1d3902..1535e2e 100644 --- a/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor.cs +++ b/FoodsharingSiegen.Server/Pages/ProspectsTodo.razor.cs @@ -1,6 +1,7 @@ using FoodsharingSiegen.Contracts.Entity; using FoodsharingSiegen.Contracts.Model; using FoodsharingSiegen.Server.Data.Service; +using FoodsharingSiegen.Server.Dialogs; using Microsoft.AspNetCore.Components; namespace FoodsharingSiegen.Server.Pages @@ -8,7 +9,7 @@ namespace FoodsharingSiegen.Server.Pages /// /// The prospects done class (a. beging, 07.02.2023) /// - public partial class ProspectsDone + public partial class ProspectsTodo { #region Dependencies @@ -17,14 +18,31 @@ namespace FoodsharingSiegen.Server.Pages /// [Inject] public ProspectService ProspectService { get; set; } = null!; + /// + /// Gets or sets the value of the user service (ab) + /// + [Inject] public UserService UserService { get; set; } = null!; + #endregion #region Private Properties + /// + /// Gets or sets the value of the interaction modal (ab) + /// + private AddInteractionModal? InteractionModal { get; set; } + /// /// Gets or sets the value of the prospect list (ab) /// private List? ProspectList { get; set; } + + /// + /// Gets or sets the value of the users (ab) + /// + private List? Users { get; set; } + + private AddProspectModal? ProspectModal { get; set; } #endregion @@ -51,7 +69,11 @@ namespace FoodsharingSiegen.Server.Pages /// private async Task LoadProspects() { - var parameter = new GetProspectsParameter {MustHaveInteractions = new List { InteractionType.Complete }}; + var parameter = new GetProspectsParameter + { + CannotHaveInteractions = new List { InteractionType.Complete }, + MustHaveInteractions = new List { InteractionType.Verify } + }; var prospectsR = await ProspectService.GetProspectsAsync(parameter); if (prospectsR.Success) ProspectList = prospectsR.Data; @@ -60,6 +82,29 @@ namespace FoodsharingSiegen.Server.Pages #endregion + protected override async Task OnInitializedAsync() + { + var getUsersR = await UserService.GetUsersAsync(); + if (getUsersR.Success) + Users = getUsersR.Data; + + await base.OnInitializedAsync(); + } + + #region Private Method OnAddInteraction + + /// + /// Ons the add interaction using the specified arg (a. beging, 11.04.2022) + /// + /// The arg + private async Task OnAddInteraction(Interaction arg) + { + await ProspectService.AddInteraction(arg); + await LoadProspects(); + } + + #endregion + #region Private Method RemoveInteraction /// @@ -85,5 +130,19 @@ namespace FoodsharingSiegen.Server.Pages } #endregion + + #region Private Method OnUpdateProspect + + /// + /// Ons the update prospect using the specified prospect (a. beging, 11.04.2022) + /// + /// The prospect + private async Task OnUpdateProspect(Prospect prospect) + { + var updateProspectR = await ProspectService.UpdateAsync(prospect); + if (updateProspectR.Success) await LoadProspects(); + } + + #endregion } } \ No newline at end of file