diff --git a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor index 2b1b15c..7bf67b5 100644 --- a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor +++ b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor @@ -1,5 +1,6 @@ @using FoodsharingSiegen.Contracts.Enums @using FoodsharingSiegen.Shared.Helper +@using System.ComponentModel @inherits FsBase @{ @@ -11,43 +12,32 @@
-
- @if(string.IsNullOrWhiteSpace(Prospect?.Name)) - { - - - - »Name fehlt« - } - else - { - @Prospect?.Name - } - - @if (Prospect?.FsId != null && Prospect.FsId != 0) - { - @Prospect?.FsId - } - -
-
- @if (CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador)) - { - - } - - @if (CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador)) - { - if (Prospect?.RecordState != RecordState.Archived) +
+
+ @if(string.IsNullOrWhiteSpace(Prospect?.Name)) { - + + + + »Name fehlt« } else { - + @Prospect?.Name } - +
+ +
+ + @if (Prospect?.FsId != null && Prospect.FsId != 0) + { + + + @Prospect?.FsId + + } +
@@ -154,27 +144,74 @@ ButtonIconClass="fa-solid fa-check" IconClass="fa-solid fa-user-check"> - - - -
- - - - - }
+ +
+ + + + + @if(StateFilter > ProspectStateFilter.OnBoarding) + { + @if(Prospect?.Complete != true) + { + + } else { + + } + } + + + @if (Prospect?.RecordState != RecordState.Archived) + { + + } + else + { + + } + + +
- Zuletzt geändert: @Prospect?.Modified?.ToLocalTime() + Geändert: @Prospect?.Modified?.ToLocalTime()
\ No newline at end of file diff --git a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs index 7cc4e98..6005124 100644 --- a/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs +++ b/FoodsharingSiegen.Server/Controls/ProspectContainer.razor.cs @@ -106,6 +106,27 @@ namespace FoodsharingSiegen.Server.Controls }); } + private async Task RemoveInteraction(InteractionType type) + { + var typeName = type.Translate(AppSettings); + await ConfirmDialog.ShowAsync(ModalService, "Bestätigen", $"Alle {typeName}-Interaktionen wirklich entfernen?", async () => + { + var interactions = Prospect?.Interactions.Where(x => x.Type == type); + + var dataChanged = false; + + foreach (var interaction in interactions ?? []) + { + var removeR = await ProspectService.RemoveInteraction(interaction.Id); + if (!removeR.Success) continue; + + dataChanged = true; + } + + if(dataChanged && OnDataChanged != null) await OnDataChanged(); + }); + } + #endregion #region Private Method RestoreProspectAsync