コード例 #1
0
 public IList <Ocena> FindByKatSpravaDeoTak(TakmicarskaKategorija kategorija, Sprava sprava,
                                            DeoTakmicenjaKod deoTakKod)
 {
     try
     {
         IQuery q = Session.CreateQuery(@"
             select o
             from Ocena o
             left join fetch o.Ocena2
             join fetch o.Gimnasticar g
             join fetch g.TakmicarskaKategorija kat
             left join fetch g.DrzavaUcesnik dr
             left join fetch g.KlubUcesnik kl
             where kat = :kategorija
             and o.Sprava = :sprava
             and o.DeoTakmicenjaKod = :deoTakKod");
         q.SetEntity("kategorija", kategorija);
         q.SetByte("sprava", (byte)sprava);
         q.SetByte("deoTakKod", (byte)deoTakKod);
         return(q.List <Ocena>());
     }
     catch (HibernateException ex)
     {
         throw new InfrastructureException(Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
     }
 }
コード例 #2
0
        public virtual IList <RezultatskoTakmicenje> getRezTakmicenjaEkipe(IList <RezultatskoTakmicenje> svaRezTakmicenja,
                                                                           DeoTakmicenjaKod deoTakKod, bool sumaObaKola)
        {
            Trace.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje1 || deoTakKod == DeoTakmicenjaKod.Takmicenje4);
            IList <RezultatskoTakmicenje> result = new List <RezultatskoTakmicenje>();

            foreach (RezultatskoTakmicenje rt in svaRezTakmicenja)
            {
                if (!rt.ImaEkipnoTakmicenje)
                {
                    continue;
                }
                if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
                {
                    if (rt.Propozicije.PostojiTak4)
                    {
                        if (StandardnoTakmicenje || ZbirViseKola || (FinaleKupa && (sumaObaKola || rt.odvojenoTak4())))
                        {
                            result.Add(rt);
                        }
                    }
                }
                else if (rt.odvojenoTak4())
                {
                    result.Add(rt);
                }
            }
            return(result);
        }
コード例 #3
0
 public virtual Ekipa findEkipa(GimnasticarUcesnik g, DeoTakmicenjaKod deoTakKod)
 {
     if (!ImaEkipnoTakmicenje)
     {
         return(null);
     }
     if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
     {
         foreach (Ekipa e in Takmicenje1.Ekipe)
         {
             if (e.Gimnasticari.Contains(g))
             {
                 return(e);
             }
         }
     }
     else if (deoTakKod == DeoTakmicenjaKod.Takmicenje4)
     {
         foreach (UcesnikTakmicenja4 u in Takmicenje4.Ucesnici)
         {
             if (u.Ekipa.Gimnasticari.Contains(g))
             {
                 return(u.Ekipa);
             }
         }
     }
     return(null);
 }
コード例 #4
0
 public PoredakSprava(DeoTakmicenjaKod deoTakKod, Sprava sprava)
 {
     // TODO4: Proveri da li treba da se koristi DeoTakmicenjaKod i Sprava (zbog NHibernate)? Ako treba, izmeni
     // i na ostalim mestima.
     this.deoTakKod = deoTakKod;
     this._sprava   = sprava;
 }
コード例 #5
0
 public Ocena FindOcena(GimnasticarUcesnik g, DeoTakmicenjaKod deoTakKod, Sprava sprava)
 {
     try
     {
         IQuery q = Session.CreateQuery(@"
             select o
             from Ocena o
             join o.Gimnasticar g
             where g.Id = :gimnasticarId
             and o.DeoTakmicenjaKod = :deoTakKod
             and o.Sprava = :sprava");
         q.SetInt32("gimnasticarId", g.Id);
         q.SetByte("deoTakKod", (byte)deoTakKod);
         q.SetByte("sprava", (byte)sprava);
         IList <Ocena> result = q.List <Ocena>();
         if (result.Count > 0)
         {
             return(result[0]);
         }
         return(null);
     }
     catch (HibernateException ex)
     {
         throw new InfrastructureException(Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
     }
 }
コード例 #6
0
        public static IDictionary <int, IList <Pair <RezultatskoTakmicenje, RezultatUkupno> > > getGimRezUkupnoMap(
            IList <RezultatskoTakmicenje> rezTakmicenja, DeoTakmicenjaKod deoTakKod)
        {
            IDictionary <int, IList <Pair <RezultatskoTakmicenje, RezultatUkupno> > > result
                = new Dictionary <int, IList <Pair <RezultatskoTakmicenje, RezultatUkupno> > >();

            foreach (RezultatskoTakmicenje rt in rezTakmicenja)
            {
                // TODO: Ovo nece raditi za Takmicenje 4 jer ne postoji poredak ukupno za takmicenje 4. Mozda bi za
                // takmicenje 4 takodje trebalo kreirati i poredak ukupno, koji ne bi bio vidljiv u programu i ciji
                // bi se rezultati koristili za ekipni poredak.
                PoredakUkupno p = rt.getPoredakUkupno(deoTakKod);

                foreach (RezultatUkupno r in p.Rezultati)
                {
                    Pair <RezultatskoTakmicenje, RezultatUkupno> rez = new Pair <RezultatskoTakmicenje, RezultatUkupno>(rt, r);
                    if (result.ContainsKey(r.Gimnasticar.Id))
                    {
                        result[r.Gimnasticar.Id].Add(rez);
                    }
                    else
                    {
                        IList <Pair <RezultatskoTakmicenje, RezultatUkupno> > rezList
                            = new List <Pair <RezultatskoTakmicenje, RezultatUkupno> >();
                        rezList.Add(rez);
                        result.Add(r.Gimnasticar.Id, rezList);
                    }
                }
            }
            return(result);
        }
コード例 #7
0
ファイル: RezultatiEkipeForm.cs プロジェクト: stankela/bilten
        public RezultatiEkipeForm(int takmicenjeId, DeoTakmicenjaKod deoTakKod)
        {
            InitializeComponent();
            this.deoTakKod = deoTakKod;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                takmicenje = dataContext.GetById<Takmicenje>(takmicenjeId);
                NHibernateUtil.Initialize(takmicenje);

                IList<RezultatskoTakmicenje> svaRezTakmicenja = loadRezTakmicenja(takmicenjeId);
                if (svaRezTakmicenja.Count == 0)
                    throw new BusinessException("Morate najpre da unesete takmicarske kategorije.");

                rezTakmicenja = takmicenje.getRezTakmicenjaEkipe(svaRezTakmicenja, deoTakKod, false);
                if (rezTakmicenja.Count == 0)
                    throw new BusinessException("Ne postoji takmicenje IV ni za jednu kategoriju.");

                ocene = loadOcene(takmicenjeId, deoTakKod);
                sviRezultatiUkupno = takmicenje.createRezultatiUkupnoZaSveEkipe(rezTakmicenja, ocene, deoTakKod);

                initUI();
                takmicenjeOpened = new bool[rezTakmicenja.Count];
            }
            catch (BusinessException)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw;
            }
            catch (InfrastructureException)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw;
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
コード例 #8
0
ファイル: RasporedNastupa.cs プロジェクト: stankela/bilten
        public RasporedNastupa(TakmicarskaKategorija kategorija,
                               DeoTakmicenjaKod deoTakKod, Gimnastika gimnastika, int pauzeMask)
        {
            IList <TakmicarskaKategorija> kategorije = new List <TakmicarskaKategorija>();

            kategorije.Add(kategorija);
            init(kategorije, deoTakKod, gimnastika, pauzeMask);
        }
コード例 #9
0
        public OceneForm(int takmicenjeId, DeoTakmicenjaKod deoTakKod)
        {
            InitializeComponent();
            this.deoTakKod = deoTakKod;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            ISession session = null;

            try
            {
                using (session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        kategorije = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO()
                                     .FindByTakmicenje(takmicenjeId);
                        if (kategorije.Count == 0)
                        {
                            throw new BusinessException(Strings.NO_KATEGORIJE_I_TAKMICENJA_ERROR_MSG);
                        }

                        takmicenje = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenjeId);
                        ocene      = new Dictionary <int, List <Ocena> >();

                        initUI();
                        cmbKategorija.SelectedIndex = 0;
                        cmbSprava.SelectedIndex     = 0;

                        cmbKategorija.SelectedIndexChanged += new EventHandler(selectedOceneChanged);
                        cmbSprava.SelectedIndexChanged     += new EventHandler(selectedOceneChanged);

                        onSelectedOceneChanged();
                    }
            }
            catch (BusinessException)
            {
                if (session != null && session.Transaction != null && session.Transaction.IsActive)
                {
                    session.Transaction.Rollback();
                }
                throw;
            }
            catch (Exception ex)
            {
                if (session != null && session.Transaction != null && session.Transaction.IsActive)
                {
                    session.Transaction.Rollback();
                }
                throw new InfrastructureException(ex.Message, ex);
            }
            finally
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }
        }
コード例 #10
0
        public RezultatiSpravaForm(int takmicenjeId, DeoTakmicenjaKod deoTakKod, bool selectMode,
            RezultatskoTakmicenje startTakmicenje, Sprava startSprava)
        {
            InitializeComponent();
            this.deoTakKod = deoTakKod;
            this.selectMode = selectMode;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                takmicenje = dataContext.GetById<Takmicenje>(takmicenjeId);
                NHibernateUtil.Initialize(takmicenje);

                IList<RezultatskoTakmicenje> svaRezTakmicenja = loadRezTakmicenja(takmicenjeId);
                if (svaRezTakmicenja.Count == 0)
                    throw new BusinessException("Morate najpre da unesete takmicarske kategorije.");

                rezTakmicenja = takmicenje.getRezTakmicenjaSprava(svaRezTakmicenja, deoTakKod, false);
                if (rezTakmicenja.Count == 0)
                    throw new BusinessException("Ne postoji takmicenje III ni za jednu kategoriju.");

                initUI(startTakmicenje, startSprava);
                rezultatiOpened = new HashSet<int>();
            }
            catch (BusinessException)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw;
            }
            catch (InfrastructureException)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw;
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
コード例 #11
0
        public virtual PoredakSprava getPoredakSprava(DeoTakmicenjaKod deoTakKod, Sprava sprava)
        {
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                return(Takmicenje1.getPoredakSprava(sprava));
            }

            Trace.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje3);
            return(Takmicenje3.getPoredak(sprava));
        }
コード例 #12
0
        public virtual PoredakEkipno getPoredakEkipno(DeoTakmicenjaKod deoTakKod)
        {
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                return(Takmicenje1.PoredakEkipno);
            }

            Trace.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje4);
            return(Takmicenje4.Poredak);
        }
コード例 #13
0
        public virtual PoredakPreskok getPoredakPreskok(DeoTakmicenjaKod deoTakKod)
        {
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                return(Takmicenje1.PoredakPreskok);
            }

            Trace.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje3);
            return(Takmicenje3.PoredakPreskok);
        }
コード例 #14
0
        private void insertRezultatiSprava(DeoTakmicenjaKod deoTakKod, Takmicenje takmicenje)
        {
            TakmicarskaKategorija seniori = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO()
                                            .FindByTakmicenje(takmicenje.Id)[0];
            RezultatskoTakmicenje rezTak = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO()
                                           .FindByKategorija(seniori)[0];
            IList <Ocena> ocene = DAOFactoryFactory.DAOFactory.GetOcenaDAO()
                                  .FindByDeoTakmicenja(takmicenje.Id, deoTakKod);

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                foreach (PoredakSprava p in rezTak.Takmicenje1.PoredakSprava)
                {
                    p.create(rezTak, ocene);
                }
                rezTak.Takmicenje1.PoredakPreskok.create(rezTak, ocene);
                rezTak.Takmicenje3.createUcesnici(rezTak.Takmicenje1,
                                                  rezTak.Propozicije.Tak1PreskokNaOsnovuObaPreskoka);

                GimnasticarUcesnikDAO gimUcesnikDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO();
                if (gimnastika == Gimnastika.MSG)
                {
                    /*GimnasticarUcesnik KHOROKHORDINSergei = gimUcesnikDAO.FindByTakmicenjeTakBroj(takmicenje, 628);
                     * GimnasticarUcesnik WAMMESJeffrey = gimUcesnikDAO.FindByTakmicenjeTakBroj(takmicenje, 600);
                     *
                     * UcesnikTakmicenja3 ucesnikKHOROKHORDINSergei =
                     *  rezTak.Takmicenje3.getUcesnikKvalifikant(KHOROKHORDINSergei, Sprava.Vratilo);
                     *
                     * rezTak.Takmicenje3.removeUcesnik(ucesnikKHOROKHORDINSergei);
                     * rezTak.Takmicenje3.addUcesnik(
                     *  new UcesnikTakmicenja3(WAMMESJeffrey, Sprava.Vratilo, 8, 14.600f, 8,
                     *      KvalifikacioniStatus.Q));
                     *
                     * DAOFactoryFactory.DAOFactory.GetUcesnikTakmicenja3DAO().Delete(ucesnikKHOROKHORDINSergei);*/
                }
            }
            else
            {
                foreach (PoredakSprava p in rezTak.Takmicenje3.Poredak)
                {
                    p.create(rezTak, ocene);
                }
                rezTak.Takmicenje3.PoredakPreskok.create(rezTak, ocene);
            }

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                DAOFactoryFactory.DAOFactory.GetTakmicenje1DAO().Update(rezTak.Takmicenje1);
                DAOFactoryFactory.DAOFactory.GetTakmicenje3DAO().Update(rezTak.Takmicenje3);
            }
            else
            {
                DAOFactoryFactory.DAOFactory.GetTakmicenje3DAO().Update(rezTak.Takmicenje3);
            }
        }
コード例 #15
0
        public virtual void dump(StringBuilder strBuilder)
        {
            strBuilder.AppendLine(Id.ToString());
            strBuilder.AppendLine(DeoTakmicenjaKod.ToString());

            strBuilder.AppendLine(Rezultati.Count.ToString());
            foreach (RezultatEkipnoFinaleKupa r in Rezultati)
            {
                r.dump(strBuilder);
            }
        }
コード例 #16
0
ファイル: OceneForm.cs プロジェクト: stankela/bilten
        public OceneForm(int takmicenjeId, DeoTakmicenjaKod deoTakKod)
        {
            InitializeComponent();
            this.deoTakKod = deoTakKod;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                kategorije = loadKategorije(takmicenjeId);
                if (kategorije.Count == 0)
                    throw new BusinessException("Morate najpre da unesete takmicarske kategorije.");

                takmicenje = dataContext.GetById<Takmicenje>(takmicenjeId);
                ocene = new Dictionary<int, List<Ocena>>();

                initUI();
                cmbKategorija.SelectedIndex = 0;
                cmbSprava.SelectedIndex = 0;

                cmbKategorija.SelectedIndexChanged += new EventHandler(selectedOceneChanged);
                cmbSprava.SelectedIndexChanged += new EventHandler(selectedOceneChanged);

                onSelectedOceneChanged();

              //          dataContext.Commit();
            }
            catch (BusinessException)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw;
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
コード例 #17
0
        public virtual void dump(StringBuilder strBuilder)
        {
            strBuilder.AppendLine(Id.ToString());
            strBuilder.AppendLine(DeoTakmicenjaKod.ToString());

            strBuilder.AppendLine(Rezultati.Count.ToString());
            foreach (RezultatUkupnoZbirViseKola r in Rezultati)
            {
                r.dump(strBuilder);
            }
        }
コード例 #18
0
 public override int GetHashCode()
 {
     unchecked
     {
         int result = 14;
         result = 29 * result + Gimnasticar.GetHashCode();
         result = 29 * result + Sprava.GetHashCode();
         result = 29 * result + DeoTakmicenjaKod.GetHashCode();
         return(result);
     }
 }
コード例 #19
0
        private void insertRezultatiUkupno(DeoTakmicenjaKod deoTakKod, Takmicenje takmicenje)
        {
            TakmicarskaKategorija seniori = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO()
                                            .FindByTakmicenje(takmicenje.Id)[0];
            RezultatskoTakmicenje rezTak = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO()
                                           .FindByKategorija(seniori)[0];
            IList <Ocena> ocene = DAOFactoryFactory.DAOFactory.GetOcenaDAO().FindByDeoTakmicenja(takmicenje.Id, deoTakKod);

            GimnasticarUcesnikDAO gimUcesnikDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO();

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                rezTak.Takmicenje1.PoredakUkupno.create(rezTak, ocene);
                rezTak.Takmicenje2.createUcesnici(rezTak.Takmicenje1);
                if (gimnastika == Gimnastika.ZSG)
                {
                    /*GimnasticarUcesnik GORYUNOVAKristina = gimUcesnikDAO.FindByTakmicenjeTakBroj(takmicenje, 172);
                     * GimnasticarUcesnik AFANASEVAKsenia = gimUcesnikDAO.FindByTakmicenjeTakBroj(takmicenje, 170);
                     *
                     * UcesnikTakmicenja2 ucesnikGORYUNOVAKristina =
                     *  rezTak.Takmicenje2.getUcesnikKvalifikant(GORYUNOVAKristina);
                     *
                     * rezTak.Takmicenje2.removeUcesnik(ucesnikGORYUNOVAKristina);
                     * rezTak.Takmicenje2.addUcesnik(
                     *  new UcesnikTakmicenja2(AFANASEVAKsenia, 19, 54.575f, 20,
                     *      KvalifikacioniStatus.Q));
                     *
                     * // NOTE: Primetiti da moram eksplicitno da obrisem izbacenog
                     * // ucesnika, bez obzira sto je cascade="all-delete-orphan"
                     * // za asocijaciju UcesnikTakmicenja2. Za razliku od ovoga, u
                     * // klasi MainForm u metodu zavisiTakmicenje1 (koji pri kreiranju
                     * // novih ucesnika najpre obrise stare ucesnike) nije neophodno da
                     * // se brisu stari ucesnici, tj. bice automatski izbrisani.
                     * // Ispitati zasto se desava razlicito ponasanje
                     *
                     * DAOFactoryFactory.DAOFactory.GetUcesnikTakmicenja2DAO().Delete(ucesnikGORYUNOVAKristina);*/
                }
            }
            else
            {
                rezTak.Takmicenje2.Poredak.create(rezTak, ocene);
            }

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                DAOFactoryFactory.DAOFactory.GetTakmicenje1DAO().Update(rezTak.Takmicenje1);
                DAOFactoryFactory.DAOFactory.GetTakmicenje2DAO().Update(rezTak.Takmicenje2);
            }
            else
            {
                DAOFactoryFactory.DAOFactory.GetTakmicenje2DAO().Update(rezTak.Takmicenje2);
            }
        }
コード例 #20
0
ファイル: PoredakPreskok.cs プロジェクト: stankela/bilten
        public virtual void dump(StringBuilder strBuilder)
        {
            strBuilder.AppendLine(Id.ToString());
            strBuilder.AppendLine(DeoTakmicenjaKod.ToString());
            strBuilder.AppendLine(Sprava.ToString());

            strBuilder.AppendLine(Rezultati.Count.ToString());
            foreach (RezultatPreskok r in Rezultati)
            {
                r.dump(strBuilder);
            }
        }
コード例 #21
0
ファイル: RasporedNastupa.cs プロジェクト: stankela/bilten
        public RasporedNastupa(IList<TakmicarskaKategorija> kategorije, 
            DeoTakmicenjaKod deoTakKod)
        {
            if (kategorije.Count == 0)
                throw new ArgumentException("Kategorije ne smeju da budu prazne.");

            foreach (TakmicarskaKategorija kat in kategorije)
                addKategorija(kat);
            this.deoTakKod = deoTakKod;

            addNewGrupa();
        }
コード例 #22
0
        public virtual void dump(StringBuilder strBuilder)
        {
            strBuilder.AppendLine(Id.ToString());
            strBuilder.AppendLine(DeoTakmicenjaKod.ToString());
            strBuilder.AppendLine(Naziv != null ? Naziv : NULL);
            strBuilder.AppendLine(Takmicenje != null ? Takmicenje.Id.ToString() : NULL);

            strBuilder.AppendLine(Odbori.Count.ToString());
            foreach (SudijskiOdborNaSpravi s in Odbori)
            {
                s.dump(strBuilder);
            }
        }
コード例 #23
0
ファイル: Propozicije.cs プロジェクト: stankela/bilten
        public virtual bool racunajObaPreskoka(DeoTakmicenjaKod deoTakKod)
        {
            if (!PostojiTak3)
            {
                return(false);
            }

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                return(Tak1PreskokNaOsnovuObaPreskoka);
            }
            return(Tak3PreskokNaOsnovuObaPreskoka);
        }
コード例 #24
0
ファイル: RasporedNastupa.cs プロジェクト: stankela/bilten
        public virtual void dump(StringBuilder strBuilder)
        {
            strBuilder.AppendLine(Id.ToString());
            strBuilder.AppendLine(DeoTakmicenjaKod.ToString());
            strBuilder.AppendLine(Naziv != null ? Naziv : NULL);
            strBuilder.AppendLine(Takmicenje != null ? Takmicenje.Id.ToString() : NULL);
            strBuilder.AppendLine(PauzeMask.ToString());

            strBuilder.AppendLine(StartListe.Count.ToString());
            foreach (StartListaNaSpravi s in StartListe)
            {
                s.dump(strBuilder);
            }
        }
コード例 #25
0
ファイル: RasporedSudija.cs プロジェクト: stankela/bilten
        public RasporedSudija(IList<TakmicarskaKategorija> kategorije, 
            DeoTakmicenjaKod deoTakKod, Takmicenje takmicenje)
        {
            if (kategorije.Count == 0)
                throw new ArgumentException("Kategorije ne smeju da budu prazne.");

            foreach (TakmicarskaKategorija kat in kategorije)
                addKategorija(kat);
            this.deoTakKod = deoTakKod;

            Sprava[] sprave = Sprave.getSprave(kategorije[0].Pol);
            foreach (Sprava s in sprave)
                odbori.Add(new SudijskiOdborNaSpravi(s));
        }
コード例 #26
0
ファイル: RasporedNastupa.cs プロジェクト: stankela/bilten
        private void init(IList <TakmicarskaKategorija> kategorije, DeoTakmicenjaKod deoTakKod, Gimnastika gimnastika,
                          int pauzeMask)
        {
            if (kategorije.Count == 0)
            {
                throw new ArgumentException("Kategorije ne smeju da budu prazne.");
            }

            this.Naziv            = kreirajNaziv(kategorije);
            this.DeoTakmicenjaKod = deoTakKod;
            this.PauzeMask        = pauzeMask;
            this.Takmicenje       = kategorije[0].Takmicenje;

            addNewGrupa(gimnastika);
        }
コード例 #27
0
ファイル: DeoTakmicenjaKod.cs プロジェクト: stankela/bilten
        public static DeoTakmicenjaKod parse(string deoTakmicenjaKod)
        {
            DeoTakmicenjaKod result = DeoTakmicenjaKod.Undefined;

            DeoTakmicenjaKod[] kodovi =
                (DeoTakmicenjaKod[])Enum.GetValues(typeof(DeoTakmicenjaKod));
            foreach (DeoTakmicenjaKod k in kodovi)
            {
                if (toString(k).ToUpper() == deoTakmicenjaKod.ToUpper())
                {
                    result = k;
                    break;
                }
            }
            return(result);
        }
コード例 #28
0
ファイル: OcenaForm.cs プロジェクト: stankela/bilten
        public OcenaForm(Nullable<int> ocenaId, GimnasticarUcesnik g, 
            Sprava sprava, DeoTakmicenjaKod deoTakKod,
            int takmicenjeId)
        {
            InitializeComponent();
            this.gimnasticar = g;
            this.sprava = sprava;
            this.deoTakKod = deoTakKod;
            this.obeOcene = sprava == Sprava.Preskok;
            this.showWaitCursor = true;

            takmicenje = loadTakmicenje(takmicenjeId);
            initialize(ocenaId, true);

            izracunato = editMode && !ckbUnosOcene.Checked;
        }
コード例 #29
0
        public override void dump(StringBuilder strBuilder)
        {
            base.dump(strBuilder);
            strBuilder.AppendLine(Sprava.ToString());
            strBuilder.AppendLine(DeoTakmicenjaKod.ToString());
            strBuilder.AppendLine(TotalObeOcene != null ? TotalObeOcene.Value.ToString() : NULL);
            strBuilder.AppendLine(Gimnasticar != null ? Gimnasticar.Id.ToString() : NULL);

            if (Ocena2 == null)
            {
                strBuilder.AppendLine(NULL);
            }
            else
            {
                Ocena2.dump(strBuilder);
            }
        }
コード例 #30
0
        public RasporedSudija(IList <TakmicarskaKategorija> kategorije,
                              DeoTakmicenjaKod deoTakKod, Gimnastika gimnastika)
        {
            if (kategorije.Count == 0)
            {
                throw new ArgumentException("Kategorije ne smeju da budu prazne.");
            }

            this.Naziv      = RasporedNastupa.kreirajNaziv(kategorije);
            this.deoTakKod  = deoTakKod;
            this.takmicenje = kategorije[0].Takmicenje;

            Sprava[] sprave = Sprave.getSprave(gimnastika);
            foreach (Sprava s in sprave)
            {
                odbori.Add(new SudijskiOdborNaSpravi(s));
            }
        }
コード例 #31
0
ファイル: HeaderFooterForm.cs プロジェクト: stankela/bilten
        public HeaderFooterForm(DeoTakmicenjaKod deoTakKod, bool prikaziDEOceneVisible, bool brojSpravaPoStraniVisible,
                                bool prikaziPenalSpravaVisible, bool stampajRedniBrojVisible, bool stampajKategorijuVisible,
                                bool stampajKlubVisible, bool brojEOcenaFormularVisible)
        {
            InitializeComponent();
            this.Text      = "Opcije za stampanje";
            this.deoTakKod = deoTakKod;

            ckbPrikaziDEOcene.Visible = prikaziDEOceneVisible;
            ckbPrikaziDEOcene.Enabled = prikaziDEOceneVisible;

            panel1.Visible = brojSpravaPoStraniVisible;
            panel1.Enabled = brojSpravaPoStraniVisible;

            ckbPenalSprave.Visible = prikaziPenalSpravaVisible;
            ckbPenalSprave.Enabled = prikaziPenalSpravaVisible;

            ckbStampajRedniBroj.Visible = stampajRedniBrojVisible;
            ckbStampajRedniBroj.Enabled = stampajRedniBrojVisible;
            if (stampajRedniBrojVisible)
            {
                ckbStampajRedniBroj.Location = new Point(ckbPenalSprave.Location.X, ckbStampajRedniBroj.Location.Y);
            }

            ckbStampajKategoriju.Visible = stampajKategorijuVisible;
            ckbStampajKategoriju.Enabled = stampajKategorijuVisible;

            ckbStampajKlub.Visible = stampajKlubVisible;
            ckbStampajKlub.Enabled = stampajKlubVisible;

            label1.Visible        = brojEOcenaFormularVisible;
            txtBrojEOcena.Visible = brojEOcenaFormularVisible;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();

            initFont();

            Cursor.Hide();
            Cursor.Current = Cursors.Arrow;


            initSize();
        }
コード例 #32
0
        private void cmdRezultatiSprave(DeoTakmicenjaKod deoTakKod, string errorMsg)
        {
            KonacanPlasman selItem = dataGridViewUserControl1.getSelectedItem <KonacanPlasman>();

            if (selItem == null)
            {
                return;
            }

            try
            {
                if (selItem.TipTakmicenja == TipTakmicenja.StandardnoTakmicenje)
                {
                    RezultatiSpravaForm form = new RezultatiSpravaForm(selItem.TakmicenjeId, deoTakKod,
                                                                       selItem.RezultatskoTakmicenjeId, Sprava.Undefined, true, false);
                    form.ShowDialog();
                }
                else if (selItem.TipTakmicenja == TipTakmicenja.FinaleKupa)
                {
                    // NOTE: Ovo je neka vrsta hacka, zato sto ako postoji odvojeno takmicenje 3, rezultati se
                    // smestaju u poretku za takmicenje 1. Ja sam izabrao da rezultate za 1. i 2. kolo prikazujem
                    // kada se klikne na takmicenje 1, a odvojeno finale kada se klikne na takmicenje 3.

                    if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
                    {
                        RezultatiSpravaFinaleKupaForm form = new RezultatiSpravaFinaleKupaForm(selItem.TakmicenjeId,
                                                                                               selItem.RezultatskoTakmicenjeId, true);
                        form.ShowDialog();
                    }
                    else if (deoTakKod == DeoTakmicenjaKod.Takmicenje3)
                    {
                        RezultatiSpravaForm form = new RezultatiSpravaForm(selItem.TakmicenjeId,
                                                                           DeoTakmicenjaKod.Takmicenje1, selItem.RezultatskoTakmicenjeId, Sprava.Undefined, true, false);
                        form.ShowDialog();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageDialogs.showMessage(ex.Message, errorMsg);
            }
        }
コード例 #33
0
 public IList <Ocena> FindByGimnasticar(GimnasticarUcesnik gim, DeoTakmicenjaKod deoTakKod)
 {
     try
     {
         IQuery q = Session.CreateQuery(@"
             select o
             from Ocena o
             left join fetch o.Ocena2
             join o.Gimnasticar g
             where g = :gim
             and o.DeoTakmicenjaKod = :deoTakKod");
         q.SetEntity("gim", gim);
         q.SetByte("deoTakKod", (byte)deoTakKod);
         return(q.List <Ocena>());
     }
     catch (HibernateException ex)
     {
         throw new InfrastructureException(Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
     }
 }
コード例 #34
0
 public IList <Ocena> FindByDeoTakmicenja(int takmicenjeId, DeoTakmicenjaKod deoTakKod)
 {
     try
     {
         IQuery q = Session.CreateQuery(@"
             select o
             from Ocena o
             left join fetch o.Ocena2
             join o.Gimnasticar g
             where g.TakmicarskaKategorija.Takmicenje.Id = :takmicenjeId
             and o.DeoTakmicenjaKod = :deoTakKod");
         q.SetInt32("takmicenjeId", takmicenjeId);
         q.SetByte("deoTakKod", (byte)deoTakKod);
         return(q.List <Ocena>());
     }
     catch (HibernateException ex)
     {
         throw new InfrastructureException(Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
     }
 }
コード例 #35
0
ファイル: HeaderFooterForm.cs プロジェクト: stankela/bilten
        public HeaderFooterForm(DeoTakmicenjaKod deoTakKod, bool prikaziDEOceneVisible, bool brojSpravaPoStraniVisible,
            bool prikaziPenalSpravaVisible, bool stampajRedniBrojVisible, bool stampajKategorijuVisible,
            bool stampajKlubVisible, bool brojEOcenaFormularVisible)
        {
            InitializeComponent();
            this.Text = "Opcije za stampanje";
            this.deoTakKod = deoTakKod;

            ckbPrikaziDEOcene.Visible = prikaziDEOceneVisible;
            ckbPrikaziDEOcene.Enabled = prikaziDEOceneVisible;

            panel1.Visible = brojSpravaPoStraniVisible;
            panel1.Enabled = brojSpravaPoStraniVisible;

            ckbPenalSprave.Visible = prikaziPenalSpravaVisible;
            ckbPenalSprave.Enabled = prikaziPenalSpravaVisible;

            ckbStampajRedniBroj.Visible = stampajRedniBrojVisible;
            ckbStampajRedniBroj.Enabled = stampajRedniBrojVisible;
            if (stampajRedniBrojVisible)
                ckbStampajRedniBroj.Location = new Point(ckbPenalSprave.Location.X, ckbStampajRedniBroj.Location.Y);

            ckbStampajKategoriju.Visible = stampajKategorijuVisible;
            ckbStampajKategoriju.Enabled = stampajKategorijuVisible;

            ckbStampajKlub.Visible = stampajKlubVisible;
            ckbStampajKlub.Enabled = stampajKlubVisible;

            label1.Visible = brojEOcenaFormularVisible;
            txtBrojEOcena.Visible = brojEOcenaFormularVisible;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();

            initFont();

            Cursor.Hide();
            Cursor.Current = Cursors.Arrow;

            initSize();
        }
コード例 #36
0
 public IList <RasporedSudija> FindByTakmicenjeDeoTak(int takmicenjeId, DeoTakmicenjaKod deoTak)
 {
     try
     {
         IQuery q = Session.CreateQuery(@"
             select distinct r
             from RasporedSudija r
             left join fetch r.Odbori o
             left join fetch o.Sudije s
             left join fetch s.DrzavaUcesnik dr
             left join fetch s.KlubUcesnik kl
             where r.DeoTakmicenjaKod = :deoTak
             and r.Takmicenje.Id = :takmicenjeId");
         q.SetInt32("takmicenjeId", takmicenjeId);
         q.SetByte("deoTak", (byte)deoTak);
         return(q.List <RasporedSudija>());
     }
     catch (HibernateException ex)
     {
         throw new InfrastructureException(Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
     }
 }
コード例 #37
0
        // TODO: Indexi kolona bi trebali da budu konstante (i na svim ostalim mestima gde se koristi
        // DataGridView.Columns[])
        public static void maximizeColumnsRezultatiUkupno(DataGridViewUserControl dgw,
                                                          DeoTakmicenjaKod deoTakKod, IList <RezultatskoTakmicenje> rezTakmicenja)
        {
            List <string> imena   = new List <string>();
            List <string> klubovi = new List <string>();

            foreach (RezultatskoTakmicenje rt in rezTakmicenja)
            {
                foreach (RezultatUkupno r in rt.getPoredakUkupno(deoTakKod).getRezultati())
                {
                    imena.Add(r.Gimnasticar.PrezimeIme);
                    klubovi.Add(r.Gimnasticar.KlubDrzava);
                }
            }
            if (imena.Count > 0)
            {
                dgw.DataGridView.Columns[1].Width = GridColumnsInitializer.getMaxWidth(imena, dgw.DataGridView);
            }
            if (klubovi.Count > 0)
            {
                dgw.DataGridView.Columns[2].Width = GridColumnsInitializer.getMaxWidth(klubovi, dgw.DataGridView);
            }
        }
コード例 #38
0
ファイル: DeoTakmicenjaKod.cs プロジェクト: stankela/bilten
        public static string toString(DeoTakmicenjaKod kod)
        {
            switch (kod)
            {
                case DeoTakmicenjaKod.Takmicenje1:
                    return "Takmicenje I";

                case DeoTakmicenjaKod.Takmicenje2:
                    return "Takmicenje II";

                case DeoTakmicenjaKod.Takmicenje3:
                    return "Takmicenje III";

                case DeoTakmicenjaKod.Takmicenje4:
                    return "Takmicenje IV";

                case DeoTakmicenjaKod.Undefined:
                    return "Nepoznat deo takmicenja";

                default:
                    throw new ArgumentException("Nedozvoljena vrednost za deo takmicenja.");
            }
        }
コード例 #39
0
ファイル: MilanoInitializer.cs プロジェクト: stankela/bilten
        private void insertRezultatiSprava(DeoTakmicenjaKod deoTakKod)
        {
            Takmicenje takmicenje = loadTakmicenje("Milano");
            TakmicarskaKategorija seniori = loadKategorija(takmicenje);

            Query q = new Query();
            q.Criteria.Add(new Criterion("Kategorija", CriteriaOperator.Equal, seniori));
            RezultatskoTakmicenje rezTak = dataContext.GetByCriteria<RezultatskoTakmicenje>(q)[0];

            IList<Ocena> ocene = dataContext.ExecuteNamedQuery<Ocena>(
                "FindOceneByDeoTakmicenja",
                    new string[] { "takId", "deoTakKod" },
                    new object[] { takmicenje.Id, deoTakKod });

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                foreach (PoredakSprava p in rezTak.Takmicenje1.PoredakSprava)
                    p.create(rezTak, ocene);
                rezTak.Takmicenje1.PoredakPreskok.create(rezTak, ocene);
                rezTak.Takmicenje3.createUcesnici(rezTak.Takmicenje1,
                    rezTak.Propozicije.KvalifikantiTak3PreskokNaOsnovuObaPreskoka);

                if (gimnastika == Gimnastika.MSG)
                {
                    q = new Query();
                    q.Criteria.Add(new Criterion("Takmicenje", CriteriaOperator.Equal, takmicenje));
                    q.Criteria.Add(new Criterion("TakmicarskiBroj", CriteriaOperator.Equal, 628));
                    GimnasticarUcesnik KHOROKHORDINSergei = dataContext.GetByCriteria<GimnasticarUcesnik>(q)[0];

                    q = new Query();
                    q.Criteria.Add(new Criterion("Takmicenje", CriteriaOperator.Equal, takmicenje));
                    q.Criteria.Add(new Criterion("TakmicarskiBroj", CriteriaOperator.Equal, 600));
                    GimnasticarUcesnik WAMMESJeffrey = dataContext.GetByCriteria<GimnasticarUcesnik>(q)[0];

                    UcesnikTakmicenja3 ucesnikKHOROKHORDINSergei =
                        rezTak.Takmicenje3.getUcesnikKvalifikant(KHOROKHORDINSergei, Sprava.Vratilo);

                    rezTak.Takmicenje3.removeUcesnik(ucesnikKHOROKHORDINSergei);
                    rezTak.Takmicenje3.addUcesnik(
                        new UcesnikTakmicenja3(WAMMESJeffrey, Sprava.Vratilo, 8, 14.600f, 8,
                            KvalifikacioniStatus.Q));

                    dataContext.Delete(ucesnikKHOROKHORDINSergei);
                }
            }
            else
            {
                foreach (PoredakSprava p in rezTak.Takmicenje3.Poredak)
                    p.create(rezTak, ocene);
                rezTak.Takmicenje3.PoredakPreskok.create(rezTak, ocene);
            }

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                dataContext.Save(rezTak.Takmicenje1);
                dataContext.Save(rezTak.Takmicenje3);
            }
            else
                dataContext.Save(rezTak.Takmicenje3);
        }
コード例 #40
0
 // TODO: Indexi kolona bi trebali da budu konstante
 public static void maximizeColumnsRezultatiUkupno(DataGridViewUserControl dgw, 
     DeoTakmicenjaKod deoTakKod, IList<RezultatskoTakmicenje> rezTakmicenja)
 {
     List<string> imena = new List<string>();
     List<string> klubovi = new List<string>();
     foreach (RezultatskoTakmicenje rt in rezTakmicenja)
     {
         foreach (RezultatUkupno r in rt.getPoredakUkupno(deoTakKod).getRezultati())
         {
             imena.Add(r.Gimnasticar.PrezimeIme);
             klubovi.Add(r.Gimnasticar.KlubDrzava);
         }
     }
     if (imena.Count > 0)
         dgw.DataGridView.Columns[2].Width = GridColumnsInitializer.getMaxWidth(imena, dgw.DataGridView);
     if (klubovi.Count > 0)
         dgw.DataGridView.Columns[3].Width = GridColumnsInitializer.getMaxWidth(klubovi, dgw.DataGridView);
 }
コード例 #41
0
ファイル: MilanoInitializer.cs プロジェクト: stankela/bilten
        private void insertRezultatiUkupno(DeoTakmicenjaKod deoTakKod)
        {
            Takmicenje takmicenje = loadTakmicenje("Milano");
            TakmicarskaKategorija seniori = loadKategorija(takmicenje);

            Query q = new Query();
            q.Criteria.Add(new Criterion("Kategorija", CriteriaOperator.Equal, seniori));
            RezultatskoTakmicenje rezTak = dataContext.GetByCriteria<RezultatskoTakmicenje>(q)[0];

            IList<Ocena> ocene = dataContext.ExecuteNamedQuery<Ocena>(
                "FindOceneByDeoTakmicenja",
                    new string[] { "takId", "deoTakKod" },
                    new object[] { takmicenje.Id, deoTakKod });

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                rezTak.Takmicenje1.PoredakUkupno.create(rezTak, ocene);
                rezTak.Takmicenje2.createUcesnici(rezTak.Takmicenje1);
                if (gimnastika == Gimnastika.ZSG)
                {
                    q = new Query();
                    q.Criteria.Add(new Criterion("Takmicenje", CriteriaOperator.Equal, takmicenje));
                    q.Criteria.Add(new Criterion("TakmicarskiBroj", CriteriaOperator.Equal, 172));
                    GimnasticarUcesnik GORYUNOVAKristina = dataContext.GetByCriteria<GimnasticarUcesnik>(q)[0];

                    q = new Query();
                    q.Criteria.Add(new Criterion("Takmicenje", CriteriaOperator.Equal, takmicenje));
                    q.Criteria.Add(new Criterion("TakmicarskiBroj", CriteriaOperator.Equal, 170));
                    GimnasticarUcesnik AFANASEVAKsenia = dataContext.GetByCriteria<GimnasticarUcesnik>(q)[0];

                    UcesnikTakmicenja2 ucesnikGORYUNOVAKristina =
                        rezTak.Takmicenje2.getUcesnikKvalifikant(GORYUNOVAKristina);

                    rezTak.Takmicenje2.removeUcesnik(ucesnikGORYUNOVAKristina);
                    rezTak.Takmicenje2.addUcesnik(
                        new UcesnikTakmicenja2(AFANASEVAKsenia, 19, 54.575f, 20,
                            KvalifikacioniStatus.Q));

                    // NOTE: Primetiti da moram eksplicitno da obrisem izbacenog
                    // ucesnika, bez obzira sto je cascade="all-delete-orphan"
                    // za asocijaciju UcesnikTakmicenja2. Za razliku od ovoga, u
                    // klasi MainForm u metodu zavisiTakmicenje1 (koji pri kreiranju
                    // novih ucesnika najpre obrise stare ucesnike) nije neophodno da
                    // se brisu stari ucesnici, tj. bice automatski izbrisani.
                    // Ispitati zasto se desava razlicito ponasanje

                    dataContext.Delete(ucesnikGORYUNOVAKristina);
                }
            }
            else
            {
                rezTak.Takmicenje2.Poredak.create(rezTak, ocene);
            }

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                dataContext.Save(rezTak.Takmicenje1);
                dataContext.Save(rezTak.Takmicenje2);
            }
            else
                dataContext.Save(rezTak.Takmicenje2);
        }
コード例 #42
0
        public virtual string getNazivIzvestajaViseboj(DeoTakmicenjaKod deoTakKod, bool finaleKupa, bool sumaObaKola)
        {
            Debug.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje1 || deoTakKod == DeoTakmicenjaKod.Takmicenje2);

            //char shVeliko = '\u0160';
            char shMalo = '\u0161';
            string result = String.Empty;
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                if (finaleKupa)
                {
                    if (sumaObaKola)
                        result = "I i II kolo - Rezultati vi" + shMalo + "eboj";
                    else
                        result = "Vi" + shMalo + "eboj";
                }
                else
                {
                    if (Propozicije.OdvojenoTak2)
                        result = "Kvalifikacije za finale vi" + shMalo + "eboja";
                    else
                        result = "Vi" + shMalo + "eboj";
                }
            }
            else
            {
                result = "Finale vi" + shMalo + "eboja";
            }
            return result;
        }
コード例 #43
0
ファイル: StartListeForm.cs プロジェクト: stankela/bilten
        public StartListeForm(int takmicenjeId, DeoTakmicenjaKod deoTakKod)
        {
            InitializeComponent();
            this.deoTakKod = deoTakKod;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                kategorijeCount = getKategorijeCount(takmicenjeId);
                if (kategorijeCount == 0)
                    throw new BusinessException("Morate najpre da unesete takmicarske kategorije.");

                rasporedi = loadRasporedi(takmicenjeId, deoTakKod);

                takmicenje = dataContext.GetById<Takmicenje>(takmicenjeId);
                NHibernateUtil.Initialize(takmicenje);

                initUI();

                // create tabs
                for (int i = 0; i < rasporedi.Count; i++)
                    createTab(rasporedi[i]);

                tabOpened = new List<bool>();
                grupa = new List<int>();
                rot = new List<int>();
                for (int i = 0; i < rasporedi.Count; i++)
                {
                    tabOpened.Add(false);
                    grupa.Add(0);
                    rot.Add(0);
                }

                // show first tab
                if (rasporedi.Count > 0)
                {
                    if (tabControl1.SelectedIndex != 0)
                        tabControl1.SelectedIndex = 0;
                    else
                        onSelectedTabIndexChanged();
                }
                else
                    tabControl1.TabPages.Remove(tabPage1);

                //    dataContext.Commit();
            }
            catch (BusinessException)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw;
            }
            catch (InfrastructureException)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw;
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
コード例 #44
0
ファイル: PoredakUkupno.cs プロジェクト: stankela/bilten
 public PoredakUkupno(DeoTakmicenjaKod deoTakKod)
 {
     this.deoTakKod = deoTakKod;
 }
コード例 #45
0
ファイル: PoredakPreskok.cs プロジェクト: stankela/bilten
 public PoredakPreskok(DeoTakmicenjaKod deoTakKod)
 {
     this.deoTakKod = deoTakKod;
     this._sprava = Sprava.Preskok;
 }
コード例 #46
0
 public virtual bool postojeKvalifikacijeViseboj(DeoTakmicenjaKod deoTakKod)
 {
     return deoTakKod == DeoTakmicenjaKod.Takmicenje1
         && Propozicije.PostojiTak2 && Propozicije.OdvojenoTak2;
 }
コード例 #47
0
ファイル: RasporedSudijaForm.cs プロジェクト: stankela/bilten
 private IList<RasporedSudija> loadRasporedi(int takmicenjeId,
     DeoTakmicenjaKod kod)
 {
     return dataContext.ExecuteNamedQuery<RasporedSudija>(
         "FindRaspSudByTakDeoTakmFetch",
         new string[] { "takmicenje", "deoTak" },
         new object[] { takmicenjeId, (byte)kod });
 }
コード例 #48
0
 public virtual bool postojeKvalifikacijeEkipno(DeoTakmicenjaKod deoTakKod)
 {
     return deoTakKod == DeoTakmicenjaKod.Takmicenje1
         && Propozicije.PostojiTak4 && Propozicije.OdvojenoTak4;
 }
コード例 #49
0
 public virtual bool postojeKvalifikacijeSprava(DeoTakmicenjaKod deoTakKod)
 {
     return deoTakKod == DeoTakmicenjaKod.Takmicenje1
         && Propozicije.PostojiTak3 && Propozicije.OdvojenoTak3;
 }
コード例 #50
0
        public virtual PoredakUkupno getPoredakUkupno(DeoTakmicenjaKod deoTakKod)
        {
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
                return Takmicenje1.PoredakUkupno;

            Debug.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje2);
            return Takmicenje2.Poredak;
        }
コード例 #51
0
        public virtual PoredakSprava getPoredakSprava(DeoTakmicenjaKod deoTakKod, Sprava sprava)
        {
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
                return Takmicenje1.getPoredakSprava(sprava);

            Debug.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje3);
            return Takmicenje3.getPoredak(sprava);
        }
コード例 #52
0
ファイル: PoredakSprava.cs プロジェクト: stankela/bilten
 public PoredakSprava(DeoTakmicenjaKod deoTakKod, Sprava sprava)
 {
     this.deoTakKod = deoTakKod;
     this._sprava = sprava;
 }
コード例 #53
0
ファイル: OceneForm.cs プロジェクト: stankela/bilten
 private bool ucestvuje(GimnasticarUcesnik g, DeoTakmicenjaKod deoTakKod)
 {
     // TODO2:
     return true;
 }
コード例 #54
0
ファイル: RasporedSudijaForm.cs プロジェクト: stankela/bilten
        public RasporedSudijaForm(int takmicenjeId, DeoTakmicenjaKod deoTakKod)
        {
            InitializeComponent();
            this.ClientSize = new System.Drawing.Size(1150, 540);
            this.StartPosition = FormStartPosition.CenterScreen;
            this.deoTakKod = deoTakKod;

            this.Text = "Raspored sudija - " +
                DeoTakmicenjaKodovi.toString(deoTakKod);

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                kategorijeCount = getKategorijeCount(takmicenjeId);
                if (kategorijeCount == 0)
                    throw new Exception("Greska u programu.");
                rasporedi = loadRasporedi(takmicenjeId, deoTakKod);

                takmicenje = dataContext.GetById<Takmicenje>(takmicenjeId);
                NHibernateUtil.Initialize(takmicenje);

                // create tabs
                for (int i = 0; i < rasporedi.Count; i++)
                    createTab(rasporedi[i]);

                tabOpened = new List<bool>();
                for (int i = 0; i < rasporedi.Count; i++)
                    tabOpened.Add(false);

                // show first tab
                if (rasporedi.Count > 0)
                {
                    if (tabControl1.SelectedIndex != 0)
                        tabControl1.SelectedIndex = 0;
                    else
                        onSelectedIndexChanged();
                }
                else
                    tabControl1.TabPages.Remove(tabPage1);

            //    dataContext.Commit();
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
コード例 #55
0
ファイル: RezultatiEkipeForm.cs プロジェクト: stankela/bilten
        private IList<Ocena> loadOcene(int takmicenjeId, DeoTakmicenjaKod deoTakKod)
        {
            IDataContext dataContext = null;
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                return dataContext.ExecuteNamedQuery<Ocena>(
                    "FindOceneByDeoTakmicenja",
                    new string[] { "takId", "deoTakKod" },
                    new object[] { takmicenjeId, deoTakKod });
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;
            }
        }
コード例 #56
0
 public static void maximizeColumnsRezultatiSprava(DataGridViewUserControl dgw, 
     DeoTakmicenjaKod deoTakKod, IList<RezultatskoTakmicenje> rezTakmicenja, bool finaleKupa)
 {
     List<string> imena = new List<string>();
     List<string> klubovi = new List<string>();
     foreach (RezultatskoTakmicenje rt in rezTakmicenja)
     {
         foreach (Sprava s in Sprave.getSprave(rt.Gimnastika))
         {
             if (s != Sprava.Preskok)
             {
                 foreach (RezultatSprava r in rt.getPoredakSprava(deoTakKod, s).getRezultati())
                 {
                     imena.Add(r.Gimnasticar.PrezimeIme);
                     klubovi.Add(r.Gimnasticar.KlubDrzava);
                 }
             }
             else
             {
                 foreach (RezultatPreskok r in rt.getPoredakPreskok(deoTakKod).getRezultati(
                     rt.Propozicije.racunajObaPreskoka(deoTakKod, finaleKupa)))
                 {
                     imena.Add(r.Gimnasticar.PrezimeIme);
                     klubovi.Add(r.Gimnasticar.KlubDrzava);
                 }
             }
         }
     }
     if (imena.Count > 0)
         dgw.DataGridView.Columns[2].Width = GridColumnsInitializer.getMaxWidth(imena, dgw.DataGridView);
     if (klubovi.Count > 0)
         dgw.DataGridView.Columns[3].Width = GridColumnsInitializer.getMaxWidth(klubovi, dgw.DataGridView);
 }
コード例 #57
0
 private Ocena loadOcena(GimnasticarUcesnik g, DeoTakmicenjaKod deoTakKod, Sprava spava)
 {
     IList<Ocena> ocene = loadOcene(g, deoTakKod);
     foreach (Ocena o in ocene)
     {
         if (o.Sprava == spava)
             return o;
     }
     return null;
 }
コード例 #58
0
ファイル: StartListeForm.cs プロジェクト: stankela/bilten
 private Ocena findOcena(GimnasticarUcesnik g, DeoTakmicenjaKod deoTakKod, 
     Sprava sprava)
 {
     IList<Ocena> result = dataContext.
         ExecuteNamedQuery<Ocena>("FindOcena",
         new string[] { "gimnasticarId", "deoTakKod", "sprava" },
         new object[] { g.Id, deoTakKod, sprava });
     if (result.Count > 0)
         return result[0];
     else
         return null;
 }
コード例 #59
0
        public virtual PoredakPreskok getPoredakPreskok(DeoTakmicenjaKod deoTakKod)
        {
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
                return Takmicenje1.PoredakPreskok;

            Debug.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje3);
            return Takmicenje3.PoredakPreskok;
        }
コード例 #60
0
        public virtual string getNazivIzvestajaSprava(DeoTakmicenjaKod deoTakKod, bool finaleKupa, bool sumaObaKola)
        {
            Debug.Assert(deoTakKod == DeoTakmicenjaKod.Takmicenje1 || deoTakKod == DeoTakmicenjaKod.Takmicenje3);

            string result = String.Empty;
            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                if (finaleKupa)
                {
                    if (sumaObaKola)
                        result = "I i II kolo - Rezultati po spravama";
                    else
                        result = "Finale po spravama";
                }
                else
                {
                    if (Propozicije.OdvojenoTak3)
                        result = "Kvalifikacije za finale po spravama";
                    else
                        result = "Finale po spravama";
                }
            }
            else
            {
                result = "Finale po spravama";
            }
            return result;
        }