public virtual void updateRezultatEkipe(Ekipa e, RezultatskoTakmicenje rezTak, List <RezultatUkupno> rezultati) { if (rezTak.ImaEkipnoTakmicenje) { PoredakEkipno.recreateRezultat(e, rezTak, rezultati); } }
public virtual void updateRezultatiOnEkipaAdded(Ekipa e, RezultatskoTakmicenje rezTak, List <RezultatUkupno> rezultati) { if (rezTak.ImaEkipnoTakmicenje) { PoredakEkipno.addEkipa(e, rezTak, rezultati); } }
public Takmicenje1(Gimnastika gimnastika) { _poredakUkupno = new PoredakUkupno(DeoTakmicenjaKod.Takmicenje1); foreach (Sprava s in Sprave.getSprave(gimnastika)) { if (s != Sprava.Preskok) _poredakSprava.Add(new PoredakSprava(DeoTakmicenjaKod.Takmicenje1, s)); } _poredakPreskok = new PoredakPreskok(DeoTakmicenjaKod.Takmicenje1); _poredakEkipno = new PoredakEkipno(DeoTakmicenjaKod.Takmicenje1); }
// Za finale kupa public virtual void updateRezultatiOnEkipaAdded(Ekipa e, List <RezultatUkupno> rezultati, RezultatskoTakmicenje rezTak, RezultatskoTakmicenje rezTak1, RezultatskoTakmicenje rezTak2) { if (!rezTak.ImaEkipnoTakmicenje) { return; } PoredakEkipnoFinaleKupa.addEkipa(e, rezTak, rezTak1, rezTak2); if (rezTak.odvojenoTak4()) { PoredakEkipno.addEkipa(e, rezTak, rezultati); } }
public virtual void updateRezultatiOnEkipaDeleted(Ekipa e, RezultatskoTakmicenje rezTak) { if (!rezTak.ImaEkipnoTakmicenje) { return; } PoredakEkipno.deleteEkipa(e, rezTak); if (PoredakEkipnoFinaleKupa != null) { PoredakEkipnoFinaleKupa.deleteEkipa(e, rezTak); } if (PoredakEkipnoZbirViseKola != null) { PoredakEkipnoZbirViseKola.deleteEkipa(e, rezTak); } }
public virtual void loadFromDump(StringReader reader, IdMap map) { int count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { reader.ReadLine(); // id UcesnikTakmicenja4 u = new UcesnikTakmicenja4(); u.loadFromDump(reader, map); Ucesnici.Add(u); } string id = reader.ReadLine(); PoredakEkipno p = null; if (id != NULL) { p = new PoredakEkipno(); p.loadFromDump(reader, map); } Poredak = p; }
public Takmicenje1(Takmicenje takmicenje) { if (takmicenje.ZbirViseKola) { _poredakUkupnoZbirViseKola = new PoredakUkupnoZbirViseKola(); _poredakEkipnoZbirViseKola = new PoredakEkipnoZbirViseKola(); } else if (takmicenje.FinaleKupa) { _poredakUkupnoFinaleKupa = new PoredakUkupnoFinaleKupa(); _poredakEkipnoFinaleKupa = new PoredakEkipnoFinaleKupa(); } _poredakUkupno = new PoredakUkupno(DeoTakmicenjaKod.Takmicenje1); foreach (Sprava s in Sprave.getSprave(takmicenje.Gimnastika)) { if (s != Sprava.Preskok) { _poredakSprava.Add(new PoredakSprava(DeoTakmicenjaKod.Takmicenje1, s)); } } _poredakPreskok = new PoredakPreskok(DeoTakmicenjaKod.Takmicenje1); _poredakEkipno = new PoredakEkipno(DeoTakmicenjaKod.Takmicenje1); }
public virtual void create(RezultatskoTakmicenje rezTak, PoredakEkipno poredakPrvoKolo, PoredakEkipno poredakDrugoKolo) { IList<Ekipa> ekipe = new List<Ekipa>(rezTak.Takmicenje1.Ekipe); // NOTE: Da bi Ekipa mogla da se koristi kao key u Dictionary, mora da implementira // interfejs IEquatable<Ekipa>. IDictionary<Ekipa, RezultatEkipnoFinaleKupa> rezultatiMap = new Dictionary<Ekipa, RezultatEkipnoFinaleKupa>(); foreach (Ekipa e in ekipe) { RezultatEkipnoFinaleKupa rezultat = new RezultatEkipnoFinaleKupa(); rezultat.Ekipa = e; rezultatiMap.Add(e, rezultat); } if (poredakPrvoKolo != null) { foreach (RezultatEkipno r in poredakPrvoKolo.Rezultati) { if (rezultatiMap.ContainsKey(r.Ekipa)) { rezultatiMap[r.Ekipa].ParterPrvoKolo = r.Parter; rezultatiMap[r.Ekipa].KonjPrvoKolo = r.Konj; rezultatiMap[r.Ekipa].KarikePrvoKolo = r.Karike; rezultatiMap[r.Ekipa].PreskokPrvoKolo = r.Preskok; rezultatiMap[r.Ekipa].RazbojPrvoKolo = r.Razboj; rezultatiMap[r.Ekipa].VratiloPrvoKolo = r.Vratilo; rezultatiMap[r.Ekipa].DvovisinskiRazbojPrvoKolo = r.DvovisinskiRazboj; rezultatiMap[r.Ekipa].GredaPrvoKolo = r.Greda; rezultatiMap[r.Ekipa].TotalPrvoKolo = r.Total; } } } if (poredakDrugoKolo != null) { foreach (RezultatEkipno r in poredakDrugoKolo.Rezultati) { if (rezultatiMap.ContainsKey(r.Ekipa)) { rezultatiMap[r.Ekipa].ParterDrugoKolo = r.Parter; rezultatiMap[r.Ekipa].KonjDrugoKolo = r.Konj; rezultatiMap[r.Ekipa].KarikeDrugoKolo = r.Karike; rezultatiMap[r.Ekipa].PreskokDrugoKolo = r.Preskok; rezultatiMap[r.Ekipa].RazbojDrugoKolo = r.Razboj; rezultatiMap[r.Ekipa].VratiloDrugoKolo = r.Vratilo; rezultatiMap[r.Ekipa].DvovisinskiRazbojDrugoKolo = r.DvovisinskiRazboj; rezultatiMap[r.Ekipa].GredaDrugoKolo = r.Greda; rezultatiMap[r.Ekipa].TotalDrugoKolo = r.Total; } } } List<RezultatEkipnoFinaleKupa> rezultati = new List<RezultatEkipnoFinaleKupa>(rezultatiMap.Values); Rezultati.Clear(); foreach (RezultatEkipnoFinaleKupa rez in rezultati) Rezultati.Add(rez); // Total moze da bude krajnja finalna ocena ili ulazna finalna ocena. U oba slucaja se Total izracunava // na isti nacin. foreach (RezultatEkipnoFinaleKupa rez in Rezultati) { if (rez.TotalPrvoKolo == null && rez.TotalDrugoKolo == null) { rez.setTotal(null); continue; } float total1 = rez.TotalPrvoKolo == null ? 0 : rez.TotalPrvoKolo.Value; float total2 = rez.TotalDrugoKolo == null ? 0 : rez.TotalDrugoKolo.Value; float total; if (rezTak.Propozicije.Tak4FinalnaOcenaJeZbirObaKola) total = total1 + total2; else if (rezTak.Propozicije.Tak4FinalnaOcenaJeMaxObaKola) total = total1 > total2 ? total1 : total2; else { // TODO3: Proveri da li ovde treba podesavati broj decimala. total = (total1 + total2) / 2; if (rezTak.Propozicije.Tak4NeRacunajProsekAkoNemaOceneIzObaKola && (rez.TotalPrvoKolo == null || rez.TotalDrugoKolo == null)) { total = total1 + total2; } } rez.setTotal(total); } rankRezultati(); if (rezTak.Propozicije.OdvojenoTak4) updateKvalStatus(rezTak.Propozicije.BrojEkipaUFinalu, 0); }
public virtual void loadFromDump(StringReader reader, IdMap map) { int count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { Gimnasticari.Add(map.gimnasticariMap[int.Parse(reader.ReadLine())]); } string id; count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); Ekipa e = new Ekipa(); map.ekipeMap.Add(int.Parse(id), e); e.loadFromDump(reader, map); Ekipe.Add(e); } id = reader.ReadLine(); PoredakUkupno poredakUkupno = null; if (id != NULL) { poredakUkupno = new PoredakUkupno(); poredakUkupno.loadFromDump(reader, map); } PoredakUkupno = poredakUkupno; count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { reader.ReadLine(); // id PoredakSprava poredakSprava = new PoredakSprava(); poredakSprava.loadFromDump(reader, map); PoredakSprava.Add(poredakSprava); } id = reader.ReadLine(); PoredakPreskok poredakPreskok = null; if (id != NULL) { poredakPreskok = new PoredakPreskok(); poredakPreskok.loadFromDump(reader, map); } PoredakPreskok = poredakPreskok; id = reader.ReadLine(); PoredakEkipno poredakEkipno = null; if (id != NULL) { poredakEkipno = new PoredakEkipno(); poredakEkipno.loadFromDump(reader, map); } PoredakEkipno = poredakEkipno; id = reader.ReadLine(); PoredakUkupnoFinaleKupa poredakUkupnoFinaleKupa = null; if (id != NULL) { poredakUkupnoFinaleKupa = new PoredakUkupnoFinaleKupa(); poredakUkupnoFinaleKupa.loadFromDump(reader, map); } PoredakUkupnoFinaleKupa = poredakUkupnoFinaleKupa; count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { reader.ReadLine(); // id PoredakSpravaFinaleKupa p = new PoredakSpravaFinaleKupa(); p.loadFromDump(reader, map); PoredakSpravaFinaleKupa.Add(p); } id = reader.ReadLine(); PoredakEkipnoFinaleKupa poredakEkipnoFinaleKupa = null; if (id != NULL) { poredakEkipnoFinaleKupa = new PoredakEkipnoFinaleKupa(); poredakEkipnoFinaleKupa.loadFromDump(reader, map); } PoredakEkipnoFinaleKupa = poredakEkipnoFinaleKupa; id = reader.ReadLine(); PoredakUkupnoZbirViseKola poredakUkupnoZbirViseKola = null; if (id != NULL) { poredakUkupnoZbirViseKola = new PoredakUkupnoZbirViseKola(); poredakUkupnoZbirViseKola.loadFromDump(reader, map); } PoredakUkupnoZbirViseKola = poredakUkupnoZbirViseKola; id = reader.ReadLine(); PoredakEkipnoZbirViseKola poredakEkipnoZbirViseKola = null; if (id != NULL) { poredakEkipnoZbirViseKola = new PoredakEkipnoZbirViseKola(); poredakEkipnoZbirViseKola.loadFromDump(reader, map); } PoredakEkipnoZbirViseKola = poredakEkipnoZbirViseKola; }
public virtual void dump(StringBuilder strBuilder) { strBuilder.AppendLine(Id.ToString()); // gimnasticari strBuilder.AppendLine(Gimnasticari.Count.ToString()); foreach (GimnasticarUcesnik g in Gimnasticari) { strBuilder.AppendLine(g.Id.ToString()); } // ekipe strBuilder.AppendLine(Ekipe.Count.ToString()); foreach (Ekipa e in Ekipe) { e.dump(strBuilder); } if (PoredakUkupno == null) { strBuilder.AppendLine(NULL); } else { PoredakUkupno.dump(strBuilder); } strBuilder.AppendLine(PoredakSprava.Count.ToString()); foreach (PoredakSprava p in PoredakSprava) { p.dump(strBuilder); } if (PoredakPreskok == null) { strBuilder.AppendLine(NULL); } else { PoredakPreskok.dump(strBuilder); } if (PoredakEkipno == null) { strBuilder.AppendLine(NULL); } else { PoredakEkipno.dump(strBuilder); } if (PoredakUkupnoFinaleKupa == null) { strBuilder.AppendLine(NULL); } else { PoredakUkupnoFinaleKupa.dump(strBuilder); } strBuilder.AppendLine(PoredakSpravaFinaleKupa.Count.ToString()); foreach (PoredakSpravaFinaleKupa p in PoredakSpravaFinaleKupa) { p.dump(strBuilder); } if (PoredakEkipnoFinaleKupa == null) { strBuilder.AppendLine(NULL); } else { PoredakEkipnoFinaleKupa.dump(strBuilder); } if (PoredakUkupnoZbirViseKola == null) { strBuilder.AppendLine(NULL); } else { PoredakUkupnoZbirViseKola.dump(strBuilder); } if (PoredakEkipnoZbirViseKola == null) { strBuilder.AppendLine(NULL); } else { PoredakEkipnoZbirViseKola.dump(strBuilder); } }
public Takmicenje4() { _poredak = new PoredakEkipno(DeoTakmicenjaKod.Takmicenje4); }