Adjusted interaction types and state filters to better streamline onboarding and verification processes. Updated UI labels, navigation, and modal dialogs to reflect new terminology and improve usability. Enhanced filtering logic and added new interaction types to support the revised process.
102 lines
3.7 KiB
C#
102 lines
3.7 KiB
C#
using Blazorise;
|
|
using FoodsharingSiegen.Contracts.Entity;
|
|
using Microsoft.AspNetCore.Components;
|
|
|
|
namespace FoodsharingSiegen.Server.Dialogs
|
|
{
|
|
public partial class AddInteractionModal
|
|
{
|
|
private Modal ModalReference { get; set; } = null!;
|
|
|
|
private Interaction Interaction { get; set; } = new();
|
|
|
|
[Parameter]
|
|
public EventCallback<Interaction> OnAdd { get; set; }
|
|
|
|
[Parameter]
|
|
public List<User>? Users { get; set; }
|
|
|
|
public Guid SelectedUser { get; set; }
|
|
|
|
private string? _header;
|
|
private string? _infoName;
|
|
private bool _showInfo;
|
|
private bool _showAlert;
|
|
private bool _showNotNeeded;
|
|
|
|
protected override async Task OnParametersSetAsync()
|
|
{
|
|
if (Users?.Any() == true) SelectedUser = Users.First().Id;
|
|
|
|
await base.OnParametersSetAsync();
|
|
}
|
|
|
|
public async Task Show(InteractionType type, Guid? prospectId)
|
|
{
|
|
if (prospectId == null) return;
|
|
_showInfo = false;
|
|
_showNotNeeded = false;
|
|
_showAlert = false;
|
|
_infoName = "Kommentar";
|
|
|
|
switch (type)
|
|
{
|
|
case InteractionType.EinAb:
|
|
_header = "Einführung eintragen";
|
|
_showInfo = true;
|
|
_showAlert = true;
|
|
_infoName = "Welcher Betrieb?";
|
|
break;
|
|
case InteractionType.Welcome:
|
|
_header = "Begrüßung eintragen";
|
|
break;
|
|
case InteractionType.IdCheck:
|
|
_header = "Ausweisprüfung eintragen";
|
|
_showAlert = true;
|
|
_showInfo = true;
|
|
break;
|
|
case InteractionType.PrintPass:
|
|
_header = "FS-Ausweis (Print)";
|
|
_showNotNeeded = true;
|
|
_showInfo = true;
|
|
break;
|
|
case InteractionType.PdfPass:
|
|
_header = "FS-Ausweis (PDF)";
|
|
_showNotNeeded = true;
|
|
_showInfo = true;
|
|
break;
|
|
case InteractionType.Verify:
|
|
_header = "Verifizierung eintragen";
|
|
break;
|
|
case InteractionType.Complete:
|
|
_header = "Als fertig markieren";
|
|
_showInfo = true;
|
|
break;
|
|
case InteractionType.StepInBriefing:
|
|
_header = "Neulingstreffen absolviert";
|
|
break;
|
|
case InteractionType.ReleasedForVerification:
|
|
_header = "Zur Verifizierung freigegeben";
|
|
_showInfo = true;
|
|
_infoName = "Hinweis";
|
|
break;
|
|
}
|
|
|
|
Interaction = new Interaction
|
|
{
|
|
Type = type,
|
|
Date = DateTime.UtcNow,
|
|
ProspectID = prospectId.Value
|
|
};
|
|
await ModalReference.Show();
|
|
}
|
|
|
|
private async Task AddInteraction()
|
|
{
|
|
Interaction.UserID = SelectedUser;
|
|
|
|
await OnAdd.InvokeAsync(Interaction);
|
|
await ModalReference.Hide();
|
|
}
|
|
}
|
|
} |