Sandberg.Chess.TRF
1.2.1
dotnet add package Sandberg.Chess.TRF --version 1.2.1
NuGet\Install-Package Sandberg.Chess.TRF -Version 1.2.1
<PackageReference Include="Sandberg.Chess.TRF" Version="1.2.1" />
paket add Sandberg.Chess.TRF --version 1.2.1
#r "nuget: Sandberg.Chess.TRF, 1.2.1"
// Install Sandberg.Chess.TRF as a Cake Addin #addin nuget:?package=Sandberg.Chess.TRF&version=1.2.1 // Install Sandberg.Chess.TRF as a Cake Tool #tool nuget:?package=Sandberg.Chess.TRF&version=1.2.1
Sandberg.Chess.TRF
Format of TRF (Tournament Report File)
Agreed general Data-Exchange Format for tournament results to be submitted to FIDE
PDF: FIDE - Format of TRF (Tournament Report File)
https://tornelo.com/knowledge-base/trfx-file-format/
How to use this library
Parse TRF files to objects
var trfFile = "C://TrfFile.txt";
var content = File.ReadAllText(trfFile);
var tournament = Sandberg.Chess.TRF.TRFParser.Parse(content)
Create TRF file from Tournament object
var content = tournament.ToTrf();
Pairing a tournament
Sandberg.Chess.TRF is using bbpPairings for pairing tournaments.
https://github.com/BieremaBoyzProgramming/bbpPairings
Create settings (TempPath is optional. Will use System.IO.Path.GetTempFileName()
if not present
var settings = new Sandberg.Chess.TRF.BbpPairingsSettings
{
BbpPairingsExePath = "C:\\bbpPairings\\bbpPairings-v5.0.1\\bbpPairings.exe",
TempPath = "C:\\Temp",
PairingType = Sandberg.Chess.TRF.PairingType.Dutch // Burstein or Dutch
};
Create a tournament or parse a TRF file.
var content = File.ReadAllText(trfFile);
var tournament = Sandberg.Chess.TRF.TRFParser.Parse(content)
Create an instance of Sandberg.Chess.TRF.Pairing
(Pairing can take a few seconds..)
var pairing = new Sandberg.Chess.TRF.Pairing(settings);
pairing.OnPairingComplete += (sender, pairing) =>
{
// Your pairing is ready
// The pairing object contains alle matches for next round
};
pairing.OnPairingError += (sender, args) =>
{
// Something wrong happened..
// Most likely your TRF file is corrupt.
};
await pairing.CreatePairings(tournament, 20);
I will work on better error handling in the next version.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.