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); }
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); }
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); } }
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); }
private bool resultsAreEqual(RezultatSprava r1, RezultatSprava r2) { if (r1 == null || r2 == null) return false; return r1.Total == r2.Total && r1.E == r2.E; }
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; }
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(); }
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); }