// Ako je finaleMemorijala == true, to znaci da postoji samo takmicenje 1 ali da se poredak izracunava tako // sto postoje ogranicenja za broj gimnasticara iz kluba/drzave. public virtual void create(RezultatskoTakmicenje rezTak, IList <Ocena> ocene, bool finaleMemorijala = false, int maxBrojTakmicaraIzKluba = 0, bool maxBrojTakmicaraVaziZaDrzavu = false) { IList <GimnasticarUcesnik> gimnasticari; if (deoTakKod == DeoTakmicenjaKod.Takmicenje1) { gimnasticari = new List <GimnasticarUcesnik>(rezTak.Takmicenje1.Gimnasticari); } else { gimnasticari = new List <GimnasticarUcesnik>(rezTak.Takmicenje2.getUcesniciGimKvalifikanti()); } IDictionary <int, RezultatUkupno> rezultatiMap = new Dictionary <int, RezultatUkupno>(); foreach (GimnasticarUcesnik g in gimnasticari) { RezultatUkupno r = new RezultatUkupno(); r.Gimnasticar = g; rezultatiMap.Add(g.Id, r); } foreach (Ocena o in ocene) { if (rezultatiMap.ContainsKey(o.Gimnasticar.Id)) { rezultatiMap[o.Gimnasticar.Id].addSprava(o, rezTak.Propozicije.ZaPreskokVisebojRacunajBoljuOcenu); } } Rezultati.Clear(); foreach (RezultatUkupno r in rezultatiMap.Values) { if (r.Gimnasticar.PenaltyViseboj != null) { r.addPenalty(r.Gimnasticar.PenaltyViseboj.Value); } Rezultati.Add(r); } rankRezultati(rezTak.Propozicije, finaleMemorijala, maxBrojTakmicaraIzKluba, maxBrojTakmicaraVaziZaDrzavu); }
public virtual void addGimnasticar(GimnasticarUcesnik g, IList <Ocena> ocene, RezultatskoTakmicenje rezTak) { RezultatUkupno r = new RezultatUkupno(); r.Gimnasticar = g; if (ocene.Count > 0) { foreach (Ocena o in ocene) { if (o.Gimnasticar.Id == g.Id) { r.addSprava(o, rezTak.Propozicije.ZaPreskokVisebojRacunajBoljuOcenu); } } } if (g.PenaltyViseboj != null) { r.addPenalty(g.PenaltyViseboj.Value); } Rezultati.Add(r); rankRezultati(rezTak.Propozicije); }