/// <summary> /// Generowanie fina³ów /// </summary> /// <param name="sport">Parametr okreœlaj¹cy sport, dla którego s¹ generowane fina³y</param> public void GenerujFinaly(Sporty sport) { listaSedziow.Sort(new SedziaComparer()); switch (sport) { case Sporty.Siatkowka: { List <Mecz> listaMeczowPolfinalowych = listaMeczy.Where(m => m.GetStopienMeczu() == (int)StopienMeczu.MeczPolfinalowy && m.GetDruzyny()[0] is DruzynaSiatkowka).ToList(); Druzyna d1, d2; d1 = listaMeczowPolfinalowych[0].GetWynik()[0] > listaMeczowPolfinalowych[0].GetWynik()[1] ? listaMeczowPolfinalowych[0].GetDruzyny()[0] : listaMeczowPolfinalowych[0].GetDruzyny()[1]; d2 = listaMeczowPolfinalowych[1].GetWynik()[0] > listaMeczowPolfinalowych[1].GetWynik()[1] ? listaMeczowPolfinalowych[1].GetDruzyny()[0] : listaMeczowPolfinalowych[1].GetDruzyny()[1]; DodajMecz(new MeczSiatkowki(d1, d2, listaSedziow[0], (int)StopienMeczu.MeczFinalowy, listaSedziow[1], listaSedziow[2])); break; } case Sporty.PrzeciaganieLiny: { List <Mecz> listaMeczowPolfinalowych = listaMeczy.Where(m => m.GetStopienMeczu() == (int)StopienMeczu.MeczPolfinalowy && m.GetDruzyny()[0] is DruzynaPrzeciaganieLiny).ToList(); Druzyna d1, d2; d1 = listaMeczowPolfinalowych[0].GetWynik()[0] > listaMeczowPolfinalowych[0].GetWynik()[1] ? listaMeczowPolfinalowych[0].GetDruzyny()[0] : listaMeczowPolfinalowych[0].GetDruzyny()[1]; d2 = listaMeczowPolfinalowych[1].GetWynik()[0] > listaMeczowPolfinalowych[1].GetWynik()[1] ? listaMeczowPolfinalowych[1].GetDruzyny()[0] : listaMeczowPolfinalowych[1].GetDruzyny()[1]; DodajMecz(new Mecz(d1, d2, listaSedziow[0], (int)StopienMeczu.MeczFinalowy)); break; } case Sporty.DwaOgnie: { List <Mecz> listaMeczowPolfinalowych = listaMeczy.Where(m => m.GetStopienMeczu() == (int)StopienMeczu.MeczPolfinalowy && m.GetDruzyny()[0] is DruzynaDwaOgnie).ToList(); Druzyna d1, d2; d1 = listaMeczowPolfinalowych[0].GetWynik()[0] > listaMeczowPolfinalowych[0].GetWynik()[1] ? listaMeczowPolfinalowych[0].GetDruzyny()[0] : listaMeczowPolfinalowych[0].GetDruzyny()[1]; d2 = listaMeczowPolfinalowych[1].GetWynik()[0] > listaMeczowPolfinalowych[1].GetWynik()[1] ? listaMeczowPolfinalowych[1].GetDruzyny()[0] : listaMeczowPolfinalowych[1].GetDruzyny()[1]; DodajMecz(new Mecz(d1, d2, listaSedziow[0], (int)StopienMeczu.MeczFinalowy)); break; } default: break; } }
/// <summary> /// Generowanie pó³fina³ów dla sportów /// </summary> /// <param name="sport">Parametr okreœlaj¹cy sport, dla którego s¹ generowane pó³fina³y</param> public void GenerujPolfinaly(Sporty sport) { listaDruzyn.Sort(new DruzynaComparer()); listaSedziow.Sort(new SedziaComparer()); int liczbaDodanych = 0; Druzyna d1 = null; foreach (var druzyna in listaDruzyn) { switch (sport) { case Sporty.Siatkowka: { if (druzyna is DruzynaSiatkowka && d1 == null) { d1 = druzyna; } else if (druzyna is DruzynaSiatkowka) { DodajMecz(new MeczSiatkowki(d1, druzyna, listaSedziow[0], (int)StopienMeczu.MeczPolfinalowy, listaSedziow[1], listaSedziow[2])); d1 = null; ++liczbaDodanych; } break; } case Sporty.PrzeciaganieLiny: { if (druzyna is DruzynaPrzeciaganieLiny && d1 == null) { d1 = druzyna; } else if (druzyna is DruzynaPrzeciaganieLiny) { DodajMecz(new Mecz(d1, druzyna, listaSedziow[0], (int)StopienMeczu.MeczPolfinalowy)); d1 = null; ++liczbaDodanych; } break; } case Sporty.DwaOgnie: { if (druzyna is DruzynaDwaOgnie && d1 == null) { d1 = druzyna; } else if (druzyna is DruzynaDwaOgnie) { DodajMecz(new Mecz(d1, druzyna, listaSedziow[0], (int)StopienMeczu.MeczPolfinalowy)); d1 = null; ++liczbaDodanych; } break; } default: break; } if (liczbaDodanych == 4) { return; } } }