Пример #1
0
        private List <object[]> getStartListaReportItems(List <RezultatSprava> rezultati)
        {
            List <object[]> result = new List <object[]>();
            int             q      = 0;
            int             r      = 0;

            for (int i = 0; i < rezultati.Count; i++)
            {
                string         redBroj  = String.Empty;
                RezultatSprava rezultat = rezultati[i];
                if (rezultat.KvalStatus == KvalifikacioniStatus.Q)
                {
                    ++q;
                    redBroj = q.ToString();
                }
                else if (rezultat.KvalStatus == KvalifikacioniStatus.R)
                {
                    ++r;
                    if (r == 1)
                    {
                        result.Add(new object[] { "", Opcije.Instance.RezerveString, "", "" });
                    }
                    redBroj = "R" + r.ToString();
                }
                result.Add(new object[] { redBroj, rezultat.Gimnasticar.PrezimeIme, rezultat.Gimnasticar.KlubDrzava,
                                          rezultat.Total });
            }
            if (result.Count == 0)
            {
                // hack kojim se obezbedjuje da se stampaju hederi i za liste koje su prazne
                result.Add(new object[] { "", "", "", "" });
            }
            return(result);
        }
Пример #2
0
        public virtual void addGimnasticar(GimnasticarUcesnik g, Ocena o, 
            RezultatskoTakmicenje rezTak)
        {
            RezultatSprava r = new RezultatSprava();
            r.Gimnasticar = g;
            r.setOcena(o);
            Rezultati.Add(r);

            rankRezultati();
            updateKvalStatus(rezTak.Propozicije);
        }
Пример #3
0
 public virtual void addOcena(Ocena o, RezultatskoTakmicenje rezTak,
     bool createRezultat)
 {
     RezultatSprava rezultat;
     if (createRezultat)
     {
         rezultat = new RezultatSprava();
         rezultat.Gimnasticar = o.Gimnasticar;
         Rezultati.Add(rezultat);
     }
     else
     {
         rezultat = getRezultat(o.Gimnasticar);
     }
     if (rezultat != null)
     {
         rezultat.setOcena(o);
         rankRezultati();
         updateKvalStatus(rezTak.Propozicije);
     }
 }
Пример #4
0
        public virtual void create(RezultatskoTakmicenje rezTak, IList<Ocena> ocene)
        {
            IList<GimnasticarUcesnik> gimnasticari;
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
                gimnasticari = getGimnasticari(ocene, Sprava, rezTak);
            else
                gimnasticari = rezTak.Takmicenje3.getUcesniciGimKvalifikanti(Sprava);

            IDictionary<int, RezultatSprava> rezultatiMap = new Dictionary<int, RezultatSprava>();
            foreach (GimnasticarUcesnik g in gimnasticari)
            {
                RezultatSprava rezultat = new RezultatSprava();
                rezultat.Gimnasticar = g;
                rezultatiMap.Add(g.Id, rezultat);
            }

            foreach (Ocena o in ocene)
            {
                if (o.Sprava == Sprava && rezultatiMap.ContainsKey(o.Gimnasticar.Id))
                    rezultatiMap[o.Gimnasticar.Id].setOcena(o);
            }

            List<RezultatSprava> rezultati = new List<RezultatSprava>(rezultatiMap.Values);
            Rezultati.Clear();
            foreach (RezultatSprava rez in rezultati)
                Rezultati.Add(rez);

            rankRezultati();
            updateKvalStatus(rezTak.Propozicije);
        }
Пример #5
0
 private bool resultsAreEqual(RezultatSprava r1, RezultatSprava r2)
 {
     if (r1 == null || r2 == null)
         return false;
     return r1.Total == r2.Total && r1.E == r2.E;
 }
Пример #6
0
        private bool nadjiIstiFinRezultatIzKluba(RezultatSprava rezultat, List<RezultatSprava> rezultati, List<bool> porediDrzavu)
        {
            for (int i = 0; i < rezultati.Count; ++i)
            {
                RezultatSprava r = rezultati[i];
                if (r.KvalStatus != KvalifikacioniStatus.Q || !resultsAreEqual(r, rezultat))
                    continue;

                if (porediDrzavu[i])
                {
                    if (r.Gimnasticar.DrzavaUcesnik.Id == rezultat.Gimnasticar.DrzavaUcesnik.Id)
                        return true;
                }
                else
                {
                    if (r.Gimnasticar.KlubUcesnik.Id == rezultat.Gimnasticar.KlubUcesnik.Id)
                        return true;
                }
            }
            return false;
        }
Пример #7
0
        public virtual void initRezultati(IList<GimnasticarUcesnik> gimnasticari)
        {
            Rezultati.Clear();
            foreach (GimnasticarUcesnik g in gimnasticari)
            {
                RezultatSprava r = new RezultatSprava();
                r.Gimnasticar = g;
                Rezultati.Add(r);
            }

            // posto nepostoje ocene, sledeci poziv samo sortira po prezimenu i na
            // osnovu toga dodeljuje RedBroj
            rankRezultati();
        }
Пример #8
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            RezultatiSpravaForm form = null;

            try
            {
                form = new RezultatiSpravaForm(takmicenje.Id,
                                               DeoTakmicenjaKod.Takmicenje1, rezTakmicenje.Id, sprava, true, true);
                if (form.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
            }
            catch (BusinessException ex)
            {
                MessageDialogs.showMessage(ex.Message, this.Text);
                return;
            }
            catch (InfrastructureException ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
                return;
            }

            // moram da koristim Naziv zato sto nije implementiran Equals u klasi
            // RezultatskoTakmicenje TODO4: Ispravi ovo
            if (form.SelectedTakmicenje.Naziv != rezTakmicenje.Naziv)
            {
                string msg = "Morate da izaberete kvalifikanta iz istog takmicenja " +
                             "kao ono koje je trenutno selektovano.";
                MessageDialogs.showMessage(msg, this.Text);
                return;
            }
            if (form.SelectedSprava != sprava)
            {
                string msg = "Morate da izaberete kvalifikanta za istu spravu " +
                             "kao ona koja je trenutno selektovana.";
                MessageDialogs.showMessage(msg, this.Text);
                return;
            }

            UcesnikTakmicenja3 newKvalifikant;

            try
            {
                RezultatSprava   selResult = form.SelectedResult;
                Nullable <float> qualScore;
                if (sprava != Sprava.Preskok)
                {
                    qualScore = selResult.Total;
                }
                else
                {
                    qualScore = rezTakmicenje.Propozicije.Tak1PreskokNaOsnovuObaPreskoka
                        ? ((RezultatPreskok)selResult).TotalObeOcene : selResult.Total;
                }
                newKvalifikant = rezTakmicenje.Takmicenje3.addKvalifikant(selResult.Gimnasticar, sprava, qualScore,
                                                                          selResult.Rank);
            }
            catch (BusinessException ex)
            {
                // Kada je gimnasticar vec medju kvalifikantima.
                MessageDialogs.showMessage(ex.Message, "");
                return;
            }

            refreshItems();
            spravaGridUserControl1.setSelectedItem <UcesnikTakmicenja3>(newKvalifikant);
        }