Benutzer-Werkzeuge

Webseiten-Werkzeuge


extensibility:assessments:confirmation:example

Dies ist eine alte Version des Dokuments!


Beispielcode für ein Plugin vom Typ "Erweiterung" um einen Bestätigungsdialog anzuzeigen

using Grpc.Core; using System; using System.Threading.Tasks; using Caats.Infrastructure.Authorization; using Caats.Infrastructure.Helper; using Caats.Infrastructure.Extensions; using Caats.Proto; namespace Caats.Service.Infrastructure.Extensibility; [PluginServiceDto(typeof(ChecklistInstanceDto))] public class ChkValidationPoC : PluginBase { public override PluginDto Ident() ⇒ new() { }; public async override Task<(RequestMsg, ResponseMsg?)> OnBeforeUpdate(RequestMsg request, Lazy<IdentityBase> identity, ServerCallContext context) { var candidate = RequestMsgHelper.GetSingleOrDefault<ChecklistInstanceDto>(request); ResponseMsg? response = null; if (candidate == null) { return (request, null); } evaluate conditions to decide whether confirmation is needed set to „true“ for brevity (because this is not the subject of the tutorial) var confirmationNeeded = true; if (request.IsConfirmationPromptAnswered()) { user has already answered the confirmation prompt } else if (confirmationNeeded) { this will result in the user being asked for confirmation (and the update call will not immediately go ahead in the backend) the prompt supports html (no script) for formatting: var prompt = @„Die eingegebene Leistungszeit liegt mehr als 7 Tage in der Vergangenheit <ul> <li>Leistungen eines Einsatzes sollten <strong>aufeinanderfolgen</strong></li> <li>Anfahrt und Abfahrt sollten an die Leistungszeit <strong>angrenzen</strong></li> </ul> Bitte bestätgen: Trotzdem buchen? “; response = ResponseMsg.PromptForConfirmation( dialogTitle: „Bestätigung erforderlich“, dialogPrompt: prompt, [ (choiceDialogResult: ResponseMsg.DialogResult.Save, choiceKey: „indeed“, choiceLabel: „COMMON.YES“), (choiceDialogResult: ResponseMsg.DialogResult.Cancel, choiceKey: „nope“, choiceLabel: „COMMON.DIALOG_ACTION_CANCEL“) ] ); } return await Task.FromResult1); } }

1)
request, response
extensibility/assessments/confirmation/example.1752756986.txt.gz · Zuletzt geändert: 2025/07/17 12:56 von agoldman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki