private void deleteKategorija(TakmicarskaKategorija k) { TakmicarskaKategorijaDAO takKatDAO = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO(); takKatDAO.Attach(k, false); IList <RezultatskoTakmicenje> rezTakmicenja = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO() .FindByKategorija(k); if (rezTakmicenja.Count > 0) { throw new BusinessException("Morate najpre da izbrisete kategoriju iz svih takmicenja."); } IList <GimnasticarUcesnik> gimnasticari = DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO() .FindByKategorija(k); if (gimnasticari.Count > 0) { throw new BusinessException("Morate najpre da izbrisete sve gimnasticare za datu kategoriju."); } TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO(); Takmicenje t = takmicenjeDAO.FindById(takmicenjeId); t.removeKategorija(SelectedKategorija); takKatDAO.Delete(k); takmicenjeDAO.Update(t); }
private void btnMoveDownKategorija_Click(object sender, EventArgs e) { TakmicarskaKategorija k = SelectedKategorija; if (k == null) { return; } if (treeViewTakmicenja.Nodes.Count > 0) { MessageDialogs.showMessage("Kategorije je moguce pomerati pre nego sto se dodaju takmicenja.", this.Text); return; } ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO().Attach(k, false); TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO(); Takmicenje takmicenje = takmicenjeDAO.FindById(takmicenjeId); if (takmicenje.moveKategorijaDown(k)) { takmicenjeDAO.Update(takmicenje); takmicenje.LastModified = DateTime.Now; session.Transaction.Commit(); // reload kategorije setKategorije(DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO().FindByTakmicenje(takmicenjeId)); SelectedKategorija = k; } } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } MessageDialogs.showMessage(ex.Message, this.Text); return; } finally { CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } }
public static void prebrisiTakmicenje(Takmicenje t, IList <KlubUcesnik> klubovi, IList <DrzavaUcesnik> drzave, IList <GimnasticarUcesnik> gimnasticari, IList <RezultatskoTakmicenje> rezTakmicenja, IList <SudijaUcesnik> sudije, IList <RasporedSudija> rasporediSudija, IList <RasporedNastupa> rasporediNastupa, IList <Ocena> ocene) { TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO(); Takmicenje t2 = takmicenjeDAO.FindByNazivGimnastikaDatum(t.Naziv, t.Gimnastika, t.Datum); if (t2 != null) { // Posto cemo izbrisati postojece takmicenje i uvesti ga sa novim ID-om, moramo da // promenimo sva finala koja se referisu na ovo takmicenje da koriste novi ID. IList <Takmicenje> finala = takmicenjeDAO.FindFinala(t2); if (finala.Count > 0) { takmicenjeDAO.Add(t); foreach (Takmicenje f in finala) { if (f.PrvoKolo != null && f.PrvoKolo.Id == t2.Id) { f.PrvoKolo = t; } if (f.DrugoKolo != null && f.DrugoKolo.Id == t2.Id) { f.DrugoKolo = t; } if (f.TreceKolo != null && f.TreceKolo.Id == t2.Id) { f.TreceKolo = t; } if (f.CetvrtoKolo != null && f.CetvrtoKolo.Id == t2.Id) { f.CetvrtoKolo = t; } takmicenjeDAO.Update(f); } } deleteTakmicenje(t2, false); } addTakmicenje(t, klubovi, drzave, gimnasticari, rezTakmicenja, sudije, rasporediSudija, rasporediNastupa, ocene); }
public static void addTakmicarskaKategorija(TakmicarskaKategorija kat, int takmicenjeId) { Notification notification = new Notification(); kat.validate(notification); if (!notification.IsValid()) { throw new BusinessException(notification); } if (DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO().existsKategorijaNaziv(kat.Naziv, takmicenjeId)) { notification.RegisterMessage("Naziv", "Kategorija sa datim nazivom vec postoji."); throw new BusinessException(notification); } TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO(); Takmicenje t = takmicenjeDAO.FindById(takmicenjeId); t.addKategorija(kat); takmicenjeDAO.Update(t); }
private void deleteTakmicenje(RezultatskoTakmicenjeDescription desc) { RezultatskoTakmicenjeDescriptionDAO rezTakDescDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDescriptionDAO(); rezTakDescDAO.Attach(desc, false); RezultatskoTakmicenjeDAO rezTakDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO(); foreach (RezultatskoTakmicenje rt in rezTakDAO.FindByDescription(desc)) { rezTakDAO.Delete(rt); } // Ne apdejtujem redne brojeve za preostala rez. takmicenja zato sto je redosled nepromenjen TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO(); Takmicenje takmicenje = takmicenjeDAO.FindById(takmicenjeId); takmicenje.removeTakmicenjeDescription(desc); takmicenjeDAO.Update(takmicenje); rezTakDescDAO.Delete(desc); }