示例#1
0
        private void promeniKlubDrzava(bool prikaziKlub)
        {
            DataGridViewUserControl dgw = getActiveSpravaGridGroupUserControl()[clickedSprava]
                                          .DataGridViewUserControl;
            List <SudijaUcesnik> sudije = new List <SudijaUcesnik>();

            foreach (SudijaNaSpravi s in dgw.getSelectedItems <SudijaNaSpravi>())
            {
                if (s.Sudija != null)
                {
                    sudije.Add(s.Sudija);
                }
            }
            if (sudije.Count == 0)
            {
                return;
            }

            ISession session = null;

            try
            {
                using (session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        SudijaUcesnikDAO sudijaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetSudijaUcesnikDAO();
                        foreach (SudijaUcesnik s in sudije)
                        {
                            s.NastupaZaDrzavu = !prikaziKlub;
                            sudijaUcesnikDAO.Update(s);
                        }

                        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.showMessage(ex.Message, this.Text);
                Close();
                return;
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }

            SudijaNaSpravi s2 = dgw.getSelectedItem <SudijaNaSpravi>();

            dgw.refreshItems();
            dgw.setSelectedItem <SudijaNaSpravi>(s2);
        }
示例#2
0
        public static void addTakmicenje(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)
        {
            // dodaj takmicenje
            TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO();

            takmicenjeDAO.Add(t);

            // kategorije i descriptions se dodaju pomocu transitive persistance

            // dodaj klubove ucesnike
            KlubUcesnikDAO klubUcesnikDAO = DAOFactoryFactory.DAOFactory.GetKlubUcesnikDAO();

            foreach (KlubUcesnik k in klubovi)
            {
                klubUcesnikDAO.Add(k);
            }

            // dodaj drzave ucesnike
            DrzavaUcesnikDAO drzavaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO();

            foreach (DrzavaUcesnik d in drzave)
            {
                drzavaUcesnikDAO.Add(d);
            }

            // dodaj gimnasticare ucesnike
            GimnasticarUcesnikDAO gimnasticarUcesnikDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO();

            foreach (GimnasticarUcesnik g in gimnasticari)
            {
                gimnasticarUcesnikDAO.Add(g);
            }

            // dodaj rezultatska takmicenja i ekipe
            RezultatskoTakmicenjeDAO rezultatskoTakmicenjeDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO();
            EkipaDAO ekipaDAO = DAOFactoryFactory.DAOFactory.GetEkipaDAO();

            foreach (RezultatskoTakmicenje r in rezTakmicenja)
            {
                foreach (Ekipa e in r.Takmicenje1.Ekipe)
                {
                    ekipaDAO.Add(e);
                }
                rezultatskoTakmicenjeDAO.Add(r);
            }

            // dodaj sudije ucesnike
            if (sudije != null)
            {
                SudijaUcesnikDAO sudijaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetSudijaUcesnikDAO();
                foreach (SudijaUcesnik s in sudije)
                {
                    sudijaUcesnikDAO.Add(s);
                }
            }

            // dodaj rasporede sudija
            if (rasporediSudija != null)
            {
                RasporedSudijaDAO rasporedSudijaDAO = DAOFactoryFactory.DAOFactory.GetRasporedSudijaDAO();
                foreach (RasporedSudija r in rasporediSudija)
                {
                    rasporedSudijaDAO.Add(r);
                }
            }

            // dodaj rasporede nastupa
            if (rasporediNastupa != null)
            {
                RasporedNastupaDAO rasporedNastupaDAO = DAOFactoryFactory.DAOFactory.GetRasporedNastupaDAO();
                foreach (RasporedNastupa r in rasporediNastupa)
                {
                    rasporedNastupaDAO.Add(r);
                }
            }

            // dodaj ocene
            OcenaDAO ocenaDAO = DAOFactoryFactory.DAOFactory.GetOcenaDAO();

            foreach (Ocena o in ocene)
            {
                ocenaDAO.Add(o);
            }
        }
示例#3
0
        public static void deleteTakmicenje(Takmicenje t, bool proveriFinala)
        {
            TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO();

            if (proveriFinala)
            {
                // Proveri da li se neko takmicenje (finale kupa ili zbir vise kola) referise na ovo takmicenje.
                IList <Takmicenje> finala = takmicenjeDAO.FindFinala(t);
                if (finala.Count > 0)
                {
                    string msg = "Takmicenje \"" + t.ToString() + "\" je nemoguce izbrisati jer je ono jedno od kola za " +
                                 "sledeca finala:\n\n";
                    foreach (Takmicenje f in finala)
                    {
                        msg += f.ToString() + "\n";
                    }
                    throw new BusinessException(msg);
                }
            }

            // brisi ocene
            OcenaDAO ocenaDAO = DAOFactoryFactory.DAOFactory.GetOcenaDAO();

            foreach (Ocena o in ocenaDAO.FindByTakmicenje(t.Id))
            {
                ocenaDAO.Delete(o);
            }

            // brisi rasporede nastupa
            RasporedNastupaDAO rasporedNastupaDAO = DAOFactoryFactory.DAOFactory.GetRasporedNastupaDAO();

            foreach (RasporedNastupa r in rasporedNastupaDAO.FindByTakmicenje(t.Id))
            {
                rasporedNastupaDAO.Delete(r);
            }

            // brisi rasporede sudija
            RasporedSudijaDAO rasporedSudijaDAO = DAOFactoryFactory.DAOFactory.GetRasporedSudijaDAO();

            foreach (RasporedSudija r in rasporedSudijaDAO.FindByTakmicenje(t.Id))
            {
                rasporedSudijaDAO.Delete(r);
            }

            // brisi sudije ucesnike
            SudijaUcesnikDAO sudijaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetSudijaUcesnikDAO();

            foreach (SudijaUcesnik s in sudijaUcesnikDAO.FindByTakmicenje(t.Id))
            {
                sudijaUcesnikDAO.Delete(s);
            }

            // brisi rezultatska takmicenja i ekipe
            RezultatskoTakmicenjeDAO rezultatskoTakmicenjeDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO();
            EkipaDAO ekipaDAO = DAOFactoryFactory.DAOFactory.GetEkipaDAO();

            foreach (RezultatskoTakmicenje r in rezultatskoTakmicenjeDAO.FindByTakmicenje(t.Id))
            {
                foreach (Ekipa e in r.Takmicenje1.Ekipe)
                {
                    ekipaDAO.Delete(e);
                }
                rezultatskoTakmicenjeDAO.Delete(r);
            }

            // brisi gimnasticare ucesnike
            GimnasticarUcesnikDAO gimnasticarUcesnikDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO();

            foreach (GimnasticarUcesnik g in gimnasticarUcesnikDAO.FindByTakmicenje(t.Id))
            {
                gimnasticarUcesnikDAO.Delete(g);
            }

            // brisi klubove ucesnike
            KlubUcesnikDAO klubUcesnikDAO = DAOFactoryFactory.DAOFactory.GetKlubUcesnikDAO();

            foreach (KlubUcesnik k in klubUcesnikDAO.FindByTakmicenje(t.Id))
            {
                klubUcesnikDAO.Delete(k);
            }

            // brisi drzave ucesnike
            DrzavaUcesnikDAO drzavaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO();

            foreach (DrzavaUcesnik d in drzavaUcesnikDAO.FindByTakmicenje(t.Id))
            {
                drzavaUcesnikDAO.Delete(d);
            }

            // brisi kategorije
            TakmicarskaKategorijaDAO takmicarskaKategorijaDAO = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO();

            foreach (TakmicarskaKategorija k in takmicarskaKategorijaDAO.FindByTakmicenje(t.Id))
            {
                takmicarskaKategorijaDAO.Delete(k);
            }

            // brisi descriptions
            RezultatskoTakmicenjeDescriptionDAO rezTakDescDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDescriptionDAO();

            foreach (RezultatskoTakmicenjeDescription d in rezTakDescDAO.FindByTakmicenje(t.Id))
            {
                rezTakDescDAO.Delete(d);
            }

            // brisi takmicenje
            takmicenjeDAO.Delete(t);
        }