private void dodajPenalizacijuToolStripMenuItem_Click(object sender, EventArgs e) { IList <RezultatEkipno> rezultatiEkipe = dataGridViewUserControl1.getSelectedItems <RezultatEkipno>(); if (rezultatiEkipe.Count != 1) { return; } RezultatEkipno r = rezultatiEkipe[0]; PenalizacijaForm form = new PenalizacijaForm(r.Penalty, takmicenje); if (form.ShowDialog() != DialogResult.OK) { return; } Nullable <float> penalty = null; if (form.Penalizacija.Trim() != String.Empty) { penalty = float.Parse(form.Penalizacija); } PoredakEkipno p = ActiveTakmicenje.getPoredakEkipno(deoTakKod); p.promeniPenalizaciju(r, penalty, ActiveTakmicenje); ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); DAOFactoryFactory.DAOFactory.GetEkipaDAO().Update(r.Ekipa); DAOFactoryFactory.DAOFactory.GetPoredakEkipnoDAO().Update(p); takmicenje = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenje.Id); takmicenje.LastModified = DateTime.Now; session.Transaction.Commit(); } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } MessageDialogs.showError(ex.Message, this.Text); return; } finally { CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } dataGridViewUserControl1.setItems <RezultatEkipno>(p.getRezultati()); dataGridViewUserControl1.setSelectedItem <RezultatEkipno>(r); }
private List <object[]> getEkipeReportItems(List <RezultatEkipno> rezultatiEkipe, IDictionary <int, List <RezultatUkupno> > ekipaRezultatiUkupnoMap, Gimnastika gim) { IList <RezultatUkupno> rezUkupnoSorted = getRezultatiUkupnoSorted(rezultatiEkipe, ekipaRezultatiUkupnoMap); List <object[]> result = new List <object[]>(); for (int i = 0; i < rezUkupnoSorted.Count; ++i) { RezultatUkupno rez = rezUkupnoSorted[i]; RezultatEkipno rezEkipa = getRezEkipa(i, rezultatiEkipe); // TODO: Proveri da li postoje situacije kada za clana ekipe umesto naziva ekipe treba da stoji naziv // kluba ili drzave (koji se nalazi u RezultatUkupno.KlubDrzava). string ekipaNaziv = rezEkipa != null ? rezEkipa.Ekipa.Naziv : rez.KlubDrzava; if (gim == Gimnastika.MSG) { result.Add(new object[] { rez.PrezimeIme, /*rez.KlubDrzava*/ ekipaNaziv, rez.Parter, rez.Konj, rez.Karike, rez.Preskok, rez.Razboj, rez.Vratilo, rez.Total }); } else { result.Add(new object[] { rez.PrezimeIme, /*rez.KlubDrzava*/ ekipaNaziv, rez.Preskok, rez.DvovisinskiRazboj, rez.Greda, rez.Parter, rez.Total }); } } return(result); }
private RezultatEkipno getRezEkipa(int redBrojRezUkupno, List <RezultatEkipno> rezultati) { int current = 0; for (int i = 0; i < rezultati.Count; ++i) { RezultatEkipno e = rezultati[i]; current += e.Ekipa.Gimnasticari.Count; if (redBrojRezUkupno < current) { return(e); } } return(null); }
private void onEkipeCellMouseClick() { RezultatEkipno rez = dataGridViewUserControl1.getSelectedItem <RezultatEkipno>(); if (rez != null) { setRezultatiUkupno(rez.Ekipa); } else if (dataGridViewUserControl1.getItemCount <RezultatEkipno>() > 0) { setRezultatiUkupno(dataGridViewUserControl1.getItems <RezultatEkipno>()[0].Ekipa); } else { dataGridViewUserControl2.clearItems(); } }
private void fetchItems(List <RezultatEkipno> rezultatiEkipno, IDictionary <int, List <RezultatUkupno> > ekipaRezultatiUkupnoMap, Gimnastika gim) { PropertyDescriptor propDesc = TypeDescriptor.GetProperties(typeof(RezultatEkipno))["RedBroj"]; rezultatiEkipno.Sort(new SortComparer <RezultatEkipno>(propDesc, ListSortDirection.Ascending)); items = getEkipeReportItems(rezultatiEkipno, ekipaRezultatiUkupnoMap, gim); groups = new List <ReportGrupa>(); int start = 0; for (int i = 0; i < rezultatiEkipno.Count; i++) { RezultatEkipno rez = rezultatiEkipno[i]; int count = rez.Ekipa.Gimnasticari.Count; object[] data; if (gim == Gimnastika.MSG) { data = new object[] { rez.Rank, rez.Ekipa.Naziv, rez.Parter, rez.Konj, rez.Karike, rez.Preskok, rez.Razboj, rez.Vratilo, rez.Total, KvalifikacioniStatusi.toString(rez.KvalStatus), rez.Penalty }; } else { data = new object[] { rez.Rank, rez.Ekipa.Naziv, rez.Preskok, rez.DvovisinskiRazboj, rez.Greda, rez.Parter, rez.Total, KvalifikacioniStatusi.toString(rez.KvalStatus), rez.Penalty }; } groups.Add(new ReportGrupa(data, start, count)); start += count; } }
private void mnSpraveKojeSeBoduju_Click(object sender, EventArgs e) { IList <RezultatEkipno> rezultatiEkipe = dataGridViewUserControl1.getSelectedItems <RezultatEkipno>(); if (rezultatiEkipe.Count != 1) { return; } RezultatEkipno rezultat = rezultatiEkipe[0]; List <int> checkedItems = new List <int>(); foreach (Sprava s in Sprave.getSprave(gimnastika)) { if (rezultat.Ekipa.getSpravaSeBoduje(s)) { checkedItems.Add(Sprave.indexOf(s, gimnastika)); } } CheckListForm form = new CheckListForm( new List <string>(Sprave.getSpraveNazivi(gimnastika)), checkedItems, "Izaberite sprave koje se boduju", "Sprave koje se boduju", true, "Izaberite sprave", true); if (form.ShowDialog() != DialogResult.OK) { return; } Sprava[] sprave = Sprave.getSprave(gimnastika); IList <Sprava> spraveKojeSeBoduju = new List <Sprava>(); rezultat.Ekipa.clearSpraveKojeSeBoduju(); foreach (int i in form.CheckedIndices) { rezultat.Ekipa.setSpravaSeBoduje(sprave[i]); } Cursor.Current = Cursors.WaitCursor; Cursor.Show(); ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); DAOFactoryFactory.DAOFactory.GetEkipaDAO().Update(rezultat.Ekipa); PoredakEkipnoDAO poredakEkipnoDAO = DAOFactoryFactory.DAOFactory.GetPoredakEkipnoDAO(); PoredakEkipno p = ActiveTakmicenje.getPoredakEkipno(deoTakKod); poredakEkipnoDAO.Attach(p, false); p.recreateRezultat(rezultat.Ekipa, ActiveTakmicenje, RezultatskoTakmicenjeService.findRezultatiUkupnoForEkipa(takmicenje.Id, rezultat.Ekipa)); poredakEkipnoDAO.Update(p); takmicenje = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenje.Id); takmicenje.LastModified = DateTime.Now; session.Transaction.Commit(); } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } MessageDialogs.showError(ex.Message, this.Text); Close(); return; } finally { Cursor.Hide(); Cursor.Current = Cursors.Arrow; CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } dataGridViewUserControl1.setItems <RezultatEkipno>( ActiveTakmicenje.getPoredakEkipno(deoTakKod).getRezultati()); // posto je poredak ponovo kreiran, i rezultat za ekipu je nov objekat pa moram da ga iznova potrazim dataGridViewUserControl1.setSelectedItem <RezultatEkipno>( ActiveTakmicenje.getPoredakEkipno(deoTakKod).getRezultat(rezultat.Ekipa)); }