private TournamentInfo IsTournamentActive(List <TournamentInfo> allSearchJoinable) { foreach (var tournamentInfo in allSearchJoinable) { var currentTournament = GetTournamentInfo(tournamentInfo.tag); if (currentTournament != null && currentTournament.currentPlayers < currentTournament.maxPlayers && currentTournament.status.ToLower() == "inprogress") { { TournamentInfo.SetRealStartDate(new List <TournamentInfo> { currentTournament }); return(currentTournament); } } } return(null); }
public TournamentSection GetTournaments() { TournamentSection result = new TournamentSection(); var opened = GetOpenedTournaments(); if (opened != null && opened.Any()) { result.All.AddRange(opened.Where(s => s.status.ToLower() != "ended")); } var known = GetKnownTournaments(); var allKnown = new List <TournamentInfo>(); if (known != null && known.Any()) { // result.All.AddRange(known.Where(s => s.status.ToLower() != "ended")); allKnown = known.Where(s => (s.maxPlayers > s.currentPlayers && s.status.ToLower() != "ended")).ToList(); } // var allOpened = opened.Where(s => (s.maxCapacity>s.playerCount && s.status.ToLower() != "ended")); result.All.Sort(); var allSearchJoinable = result.All.Where(s => s.maxPlayers > s.currentPlayers).ToList(); allSearchJoinable.Sort(); List <TournamentInfo> realCheckedJoinable = new List <TournamentInfo>(); foreach (var tournamentInfo in allSearchJoinable) { GetTournamentInfo(tournamentInfo.tag); if (tournamentInfo.currentPlayers < tournamentInfo.maxPlayers) { realCheckedJoinable.Add(tournamentInfo); break; } } // var promotionTournaments = allSearchJoinable.Skip(0).Take(6).ToList(); var promotionTournaments = allSearchJoinable.Skip(0).Take(6).ToList(); promotionTournaments.Sort(); TournamentInfo.SetRealStartDate(promotionTournaments); int count = 1; result.TournamentPromotion = new List <TournamentPromotion>(); var promotion = new TournamentPromotion(); foreach (var promotionTournament in allSearchJoinable) { if (count == 1) { promotion.Title = "Open"; result.TournamentPromotion.Add(promotion); promotion.TournamentLeft = promotionTournament; } if (count == 2) { promotion.TournamentMiddle = promotionTournament; } if (count == 3) { promotion.TournamentRight = promotionTournament; } if (count == 4) { promotion = new TournamentPromotion { Title = "Highest Players Capacity" }; result.TournamentPromotion.Add(promotion); promotion.TournamentLeft = promotionTournament; } if (count == 5) { promotion.TournamentMiddle = promotionTournament; } if (count == 6) { promotion.TournamentRight = promotionTournament; } count++; } result.All.AddRange(allKnown); return(result); }