Ojb500.EcfLms 1.2.0-pre.1203

This is a prerelease version of Ojb500.EcfLms.
dotnet add package Ojb500.EcfLms --version 1.2.0-pre.1203
                    
NuGet\Install-Package Ojb500.EcfLms -Version 1.2.0-pre.1203
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ojb500.EcfLms" Version="1.2.0-pre.1203" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ojb500.EcfLms" Version="1.2.0-pre.1203" />
                    
Directory.Packages.props
<PackageReference Include="Ojb500.EcfLms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ojb500.EcfLms --version 1.2.0-pre.1203
                    
#r "nuget: Ojb500.EcfLms, 1.2.0-pre.1203"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Ojb500.EcfLms@1.2.0-pre.1203
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ojb500.EcfLms&version=1.2.0-pre.1203&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Ojb500.EcfLms&version=1.2.0-pre.1203&prerelease
                    
Install as a Cake Tool

ecf-lms-api

C# .NET library for talking to the English Chess Federation League Management System.

Package: Ojb500.EcfLms

Usage

using Ojb500.EcfLms;

// Connect to the ECF LMS for your organisation
var org = Api.Default.GetOrganisation(613); // e.g. Sheffield & District Chess Association

// --- League table ---
var div1 = org.GetCompetition("Div 1 - Davy Trophy");
var table = await div1.GetTableAsync();

foreach (var pos in table)
{
    Console.WriteLine($"{pos.Position}. {pos.Entry.Team.Name,-30} " +
                      $"P{pos.Entry.P} W{pos.Entry.W} D{pos.Entry.D} L{pos.Entry.L}  " +
                      $"Pts: {pos.Entry.Pts}");
}

// --- Summarised table for your club (top + neighbourhood) ---
var summary = table.SummarizeFor("Ecclesall", maxRows: 5);
foreach (var pos in summary)
{
    Console.WriteLine($"{pos.Position}. {pos.Entry.Team.Name} ({pos.Entry.Pts} pts)");
}

// --- Fixtures and results ---
var events = await div1.GetEventsAsync();
var upcoming = events.Where(e => e.DateTime > DateTime.Now).Take(5);
var results = events.Where(e => e.DateTime <= DateTime.Now && !e.Result.IsEmpty)
    .OrderByDescending(e => e.DateTime).Take(5);

// --- Detailed match cards with individual board pairings ---
foreach (var match in (await div1.GetMatchesAsync()).Take(3))
{
    Console.WriteLine($"\n{match.Left} v {match.Right}");
    foreach (var p in match.Pairings)
    {
        var colour = p.FirstPlayerWhite ? "W" : "B";
        Console.WriteLine($"  Bd {p.Board} ({colour}): " +
                          $"{p.FirstPlayer.FamilyName} ({p.FirstPlayer.Rating.Primary}) " +
                          $"{p.Result} " +
                          $"{p.SecondPlayer.FamilyName} ({p.SecondPlayer.Rating.Primary})");
    }
}

// --- All fixtures for a specific club (by club code) ---
var clubFixtures = await org.GetClubEventsAsync("8YSR");
foreach (var comp in clubFixtures)
{
    Console.WriteLine($"\n{comp.Title}:");
    foreach (var evt in comp.Events)
    {
        Console.WriteLine($"  {evt.Home} {evt.Result} {evt.Away}");
    }
}

// --- Browse seasons and competitions ---
var seasons = await org.GetSeasonsWithEventsAsync();
foreach (var (id, season) in seasons)
{
    Console.WriteLine($"\n{season.Name}:");
    foreach (var (eventId, name) in season.Events)
    {
        Console.WriteLine($"  {name} (id: {eventId})");
    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • 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.

Version Downloads Last Updated
1.2.0-pre.1203 79 5/10/2026
1.1.0-pre.1179 97 2/24/2026
1.0.2 114 2/24/2026
1.0.2-pre.1177 75 2/24/2026