Vertragssuche 3.2.0

Vertragssuche

Ein NuGet-Paket für den HTTP-Zugriff auf den Vertragssuchserver, die gemeinsamen Fachmodelle (Vertrag, Person, Gesellschaft, Result) und die lokale Vertragsauswahl anhand von Vorvertrags- und Verwandtschaftsbeziehungen.

Zielplattformen

Ab Version 3.2.0 werden net48 und net10.0 direkt unterstützt. NuGet wählt die passenden Client- und Modell-DLLs aus demselben Paket. Es gibt keine netstandard-Zielversion. Auch die aufgelösten net48-Laufzeitabhängigkeiten sind Framework-Assemblies; die Tests prüfen zusätzlich rekursiv, dass sie keine netstandard-Assembly referenzieren.

Die net48-Variante verwendet Newtonsoft.Json aus dessen net45-Zielversion; net10.0 verwendet weiterhin System.Text.Json. Der HTTP-Vertrag ist derselbe, einschließlich Agenturnummer, optionaler VP, Status und Vertragsbeziehungen. Der Server muss für diesen zusätzlichen Client nicht neu veröffentlicht werden.

Asynchron, beide Plattformen

using Vertragssuche;

// HttpClient langfristig verwenden; der Client übernimmt dessen Lebensdauer nicht.
HttpClient http = new HttpClient { BaseAddress = new Uri("http://sqlserver:9755/") };
IVertragssuche suche = new Client(http);
Result[] ergebnisse = await suche.NearestNeighbor(20, vertrag);
Result[] imRadius = await suche.Range(0.15, vertrag, -mandantenId);
Vertrag[] geladen = await suche.GetVertraege(new decimal[] { 1032092 });

Synchron, .NET Framework 4.8

Framework 4.8 hat kein synchrones HttpClient.Send. Deshalb erhält der synchrone Client hier die Serveradresse statt eines HttpClient. Er verwendet echte synchrone HTTP-WebRequests, keine synchron abgewarteten Tasks.

SynchronerClient suche = new SynchronerClient(new Uri("http://sqlserver:9755/"), TimeSpan.FromSeconds(30));
Result[] ergebnisse = suche.NearestNeighbor(20, vertrag);
Result[] imRadius = suche.Range(0.15, vertrag, -mandantenId);
Vertrag[] geladen = suche.GetVertraege(new decimal[] { 1032092 });

Unter .NET 10 bleibt der bisherige Konstruktor new SynchronerClient(http) unverändert. Beide Varianten bieten dieselben Such-, Nachlade- und Umfeldmethoden sowie CancellationToken-Unterstützung. Die net48-WebRequests verwenden die Framework-/Systemstandards für Proxy und Authentifizierung, nicht die Handler eines HttpClient.

Nachverarbeitung und DI

VertragsAuswahl bietet beste bzw. gleichbeste Treffer, Beginn-Auswahl, Vorvertragsketten, Vertragsfolgen und Neuorganisationen. GetVertragsUmfeld lädt über den Suchserver die referenzierten Verträge nach. DI ist optional; AddVertragssuche funktioniert auf beiden Plattformen.

Einseitig fehlende VP bleibt bei der serverseitigen Bewertung neutral. Die Transportanpassung für net48 ändert weder Bewertung noch Suchverfahren.

Build, Paket und Tests

dotnet build Vertragssuche.Client\Vertragssuche.csproj -c Release -p:GeneratePackageOnBuild=false
dotnet pack Vertragssuche.Client\Vertragssuche.csproj -c Release -p:PushPackage=false
dotnet test Vertragssuche.Client.Tests\Vertragssuche.Client.Tests.csproj -c Release --filter "TestCategory!=Live"

Für einen ausschließlich lesenden Live-Test gegen den Suchserver:

set VERTRAGSSUCHE_TEST_SERVER=http://sqlserver:9755/
dotnet test Vertragssuche.Client.Tests\Vertragssuche.Client.Tests.csproj -c Release --filter "TestCategory=Live"

Die übrigen Clienttests benötigen keine Datenbank und prüfen beide Laufzeiten gegen einen lokalen HTTP-Testpartner. Die bestehenden Engine-/Servertests bleiben unter net10.0. Für den Build der net48-Zielversion wird das .NET-Framework-4.8-Targeting-Pack benötigt.

Showing the top 20 packages that depend on Vertragssuche.

Packages Downloads
Abrechnung
Interne Abrechnungsimplementierung für EnterpriseServices. Enthält die serverseitige Berechnung und Speicherung von Provisionen, Freigaben und Abrechnungen. Anwendungen sollen die Abrechnungsfunktionen über Fibikon.Abrechnung.Net10Client oder Fibikon.Abrechnung.Net48Client verwenden, statt dieses Paket direkt einzubinden. Die bisherige net48-Bridge bleibt vorerst für bestehende direkte Einbindungen enthalten; neue Anbindungen verwenden die HTTP-Clients.
3
Fibikon.Agenta.DB
Package Description
3

Zusätzliche direkte .NET-Framework-4.8-Unterstützung für Fachmodelle, synchrone und asynchrone Suche sowie Vertragsauswahl; .NET 10 bleibt unterstützt.

Version Downloads Last updated
3.3.0 5 08.10.2026
3.2.0 3 08.10.2026
3.1.0 3 03.10.2026
3.0.3 7 22.07.2026
3.0.2 6 16.07.2026
3.0.1 6 15.07.2026
3.0.0 5 14.07.2026
2.0.1 5 14.07.2026
1.0.0 4 14.07.2026