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 void dodajPenalizacijuToolStripMenuItem_Click(object sender, EventArgs e) { IList<RezultatEkipno> rezultatiEkipe = dataGridViewUserControl1.getSelectedItems<RezultatEkipno>(); if (rezultatiEkipe.Count != 1) return; RezultatEkipno rezultat = rezultatiEkipe[0]; PenalizacijaForm form = new PenalizacijaForm(rezultat, takmicenje); if (form.ShowDialog() != DialogResult.OK) return; if (form.Penalizacija.Trim() == String.Empty) rezultat.addPenalty(null); else rezultat.addPenalty(float.Parse(form.Penalizacija)); // Posto se ekipni poredak svaki put nanovo kreira iz ocena, moram // da zapamtim penalizaciju u ekipi (metod Poredak.create koristi Ekipa.Penalty) rezultat.Ekipa.Penalty = rezultat.Penalty; try { DataAccessProviderFactory factory = new DataAccessProviderFactory(); dataContext = factory.GetDataContext(); dataContext.BeginTransaction(); dataContext.Save(rezultat.Ekipa); if (deoTakKod == DeoTakmicenjaKod.Takmicenje1) { ActiveTakmicenje.Takmicenje1.PoredakEkipno.calculatePoredak(ActiveTakmicenje); dataContext.Save(ActiveTakmicenje.Takmicenje1.PoredakEkipno); } else { ActiveTakmicenje.Takmicenje4.Poredak.calculatePoredak(ActiveTakmicenje); dataContext.Save(ActiveTakmicenje.Takmicenje4.Poredak); } dataContext.Commit(); } catch (Exception ex) { if (dataContext != null && dataContext.IsInTransaction) dataContext.Rollback(); MessageDialogs.showError(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text); Close(); return; } finally { if (dataContext != null) dataContext.Dispose(); dataContext = null; } dataGridViewUserControl1.setItems<RezultatEkipno>( ActiveTakmicenje.getPoredakEkipno(deoTakKod).getRezultati()); dataGridViewUserControl1.setSelectedItem<RezultatEkipno>(rezultat); }