Sube carpetas API, API.Tests, Application y Domain del Backend
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
using Domain.Entities.Models;
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Application.Utils.Helper.Series;
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether a best-of-N playoff series has been decided yet.
|
||||
/// </summary>
|
||||
public static class SeriesDecisionCalculator
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the winning team's id once one team has won more than half of the series' BestOf games, based on finished games recorded so far.
|
||||
/// </summary>
|
||||
public static Guid? DetermineWinner(MatchSeries series)
|
||||
{
|
||||
int winsNeeded = (series.BestOf / 2) + 1;
|
||||
|
||||
int homeWins = series.Matches.Count(game => game.IsFinished && game.WinningTeamId == series.HomeTeamId);
|
||||
if (homeWins >= winsNeeded)
|
||||
{
|
||||
return series.HomeTeamId;
|
||||
}
|
||||
|
||||
int visitorWins = series.Matches.Count(game => game.IsFinished && game.WinningTeamId == series.VisitorTeamId);
|
||||
return visitorWins >= winsNeeded ? series.VisitorTeamId : null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user