示例#1
0
        // 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);
        }
示例#2
0
        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);
        }