JarvisTools.eJidelnicekClient
1.0.0
dotnet add package JarvisTools.eJidelnicekClient --version 1.0.0
NuGet\Install-Package JarvisTools.eJidelnicekClient -Version 1.0.0
<PackageReference Include="JarvisTools.eJidelnicekClient" Version="1.0.0" />
<PackageVersion Include="JarvisTools.eJidelnicekClient" Version="1.0.0" />
<PackageReference Include="JarvisTools.eJidelnicekClient" />
paket add JarvisTools.eJidelnicekClient --version 1.0.0
#r "nuget: JarvisTools.eJidelnicekClient, 1.0.0"
#:package JarvisTools.eJidelnicekClient@1.0.0
#addin nuget:?package=JarvisTools.eJidelnicekClient&version=1.0.0
#tool nuget:?package=JarvisTools.eJidelnicekClient&version=1.0.0
JarvisTools.eJidelnicekClient
NuGet klient pro e-jídelníček / SkolaOnline. Poskytuje DI-ready službu ISchoolMenuService/SchoolMenuService pro získání menu školy. Hlavní výhody:
- Podpora Dependency Injection přes
HttpClient(AddHttpClient) - Parametr
canteenNumberpro výběr jídelny (např.111303) - Podpora
CancellationToken - Parsování HTML pomocí HtmlAgilityPack
Instalace
Instalujte balíček z NuGet (po publikaci):
dotnet add package JarvisTools.eJidelnicekClient --version 1.0.0
Nebo přidejte projekt přímo jako reference v řešení.
Registrace v DI
Přidejte do Program.cs nebo Startup.cs:
// pokud chcete pojmenovaný HttpClient nebo základní konfiguraci
services.AddHttpClient<ISchoolMenuService, SchoolMenuService>(client =>
{
client.Timeout = TimeSpan.FromSeconds(30);
});
// nebo jednoduchá registrace
services.AddHttpClient<SchoolMenuService>();
services.AddSingleton<ISchoolMenuService>(sp => sp.GetRequiredService<SchoolMenuService>());
Poznámka: Pokud používáte AddHttpClient<TClient, TImplementation>(), framework automaticky zaregistruje TClient.
Použití
Příklad asynchronního volání (předpokládá DI):
public class MyService
{
private readonly ISchoolMenuService _schoolMenuService;
public MyService(ISchoolMenuService schoolMenuService)
{
_schoolMenuService = schoolMenuService;
}
public async Task GetMenuExample()
{
int canteenNumber = 111303; // požadovaná jídelna
var items = await _schoolMenuService.GetSchoolMenuAsync(canteenNumber);
foreach (var item in items)
{
Console.WriteLine($"{item.Date} - {item.MenuType} - {item.Name}");
}
}
}
Nezapomeňte předat CancellationToken pokud chcete podporovat zrušení:
var items = await _schoolMenuService.GetSchoolMenuAsync(111303, cancellationToken);
Poznámky pro testování
Pro jednotkové testy doporučuji mockovat HttpClient nebo použít HttpMessageHandler s testovací implementací (např. RichardSzalay.MockHttp).
Licence
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- HtmlAgilityPack (>= 1.12.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 221 | 1/2/2026 |
Initial NuGet release with DI-ready SchoolMenuService and support for passing canteenNumber as parameter.