extensibility:plugins-generic
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
extensibility:plugins-generic [2024/08/20 14:37] – adm-dlatikay | extensibility:plugins-generic [2024/08/20 16:27] (aktuell) – [Fehlercodes und Lösungen] dlatikay | ||
---|---|---|---|
Zeile 13: | Zeile 13: | ||
- Anlegen (vor Speicherung) | - Anlegen (vor Speicherung) | ||
- Anlegen (nach Speicherung) | - Anlegen (nach Speicherung) | ||
- | - Aktualisieren (vor Speichrung) | + | - Aktualisieren (vor Speicherung) |
- Aktualisieren (nach Speicherung) | - Aktualisieren (nach Speicherung) | ||
- Löschen (vor Speicherung) | - Löschen (vor Speicherung) | ||
Zeile 21: | Zeile 21: | ||
Im Falle des Abrufens einer Liste von Datensätzen (Punkt 3) steht es dem Autor des Plugins außerdem frei, die übergebenen Filter-, Sortierungs- und Gruppierungskriterien vor dem Ausführen des Datenbankzugriffes zu ändern. | Im Falle des Abrufens einer Liste von Datensätzen (Punkt 3) steht es dem Autor des Plugins außerdem frei, die übergebenen Filter-, Sortierungs- und Gruppierungskriterien vor dem Ausführen des Datenbankzugriffes zu ändern. | ||
- | ===== Beispiele | + | ===== Beispiel |
+ | |||
+ | Dieses Beispiel ersetzt den Vornamen aller neu angelegten Klienten durch den Vornamen " | ||
+ | |||
+ | <file csharp generic_plugin_example.cs> | ||
+ | using Grpc.Core; | ||
+ | using System; | ||
+ | using System.Security.Cryptography; | ||
+ | using System.Threading.Tasks; | ||
+ | |||
+ | using Caats.Infrastructure.Authorization; | ||
+ | using Caats.Infrastructure.Constants; | ||
+ | using Caats.Infrastructure.Helper; | ||
+ | using Caats.Proto; | ||
+ | |||
+ | using Caats.Services.PersonAPI.Infrastructure; | ||
+ | using Caats.Services.PersonAPI.Repositories; | ||
+ | |||
+ | namespace Caats.Service.Infrastructure.Extensibility; | ||
+ | |||
+ | [PluginServiceDto(typeof(PersonDto))] | ||
+ | public class MyTestCaatsPersonPlugin : PluginBase | ||
+ | { | ||
+ | private readonly IPersonRepository _repository; | ||
+ | |||
+ | public MyTestCaatsPersonPlugin(IPersonRepository repository) | ||
+ | { | ||
+ | _repository = repository; | ||
+ | } | ||
+ | |||
+ | public override PluginDto Ident() => new() { }; | ||
+ | |||
+ | public async override Task< | ||
+ | { | ||
+ | var candidate = RequestMsgHelper.GetSingleOrDefault< | ||
+ | |||
+ | candidate.GivenName = "Alle heißen Franz"; | ||
+ | |||
+ | var modified = RequestMsgHelper.CreateWithSingle(candidate); | ||
+ | |||
+ | modified.PartitionIndex = request.PartitionIndex; | ||
+ | |||
+ | return (modified, null); | ||
+ | } | ||
+ | }</ | ||
- | Beispiel | ||
===== Fehlercodes und Lösungen ===== | ===== Fehlercodes und Lösungen ===== | ||
Zeile 30: | Zeile 73: | ||
^ Fehlercode | ^ Fehlercode | ||
- | | Row 1 Col 1 | + | | CAATS0001 |
- | | Row 3 Col 1 | + | | CAATS0003 |
extensibility/plugins-generic.1724164637.txt.gz · Zuletzt geändert: 2024/08/20 14:37 von adm-dlatikay