Esempio n. 1
0
        public void dumpRezultati()
        {
            Bilten.UI.WaitForm form = new UI.WaitForm();
            form.Show();
            form.TopMost = true;

            StreamWriter logStreamWriter = File.CreateText("rezultati_dump.txt");
            IList <int>  takmicenjaId    = getTakmicenjaId();

            for (int i = 0; i < takmicenjaId.Count; ++i)
            {
                ISession session = null;
                try
                {
                    using (session = NHibernateHelper.Instance.OpenSession())
                        using (session.BeginTransaction())
                        {
                            CurrentSessionContext.Bind(session);
                            Takmicenje t = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenjaId[i]);

                            string takmicenjeHeader = t.ToString() + " (" + t.Id + ")";
                            logStreamWriter.WriteLine("TAKMICENJE: " + takmicenjeHeader);
                            form.Message = i.ToString() + ". " + takmicenjeHeader;

                            IList <RezultatskoTakmicenje> rezTakmicenja
                                = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO().FindByTakmicenje(t.Id);
                            foreach (RezultatskoTakmicenje rt in rezTakmicenja)
                            {
                                logStreamWriter.WriteLine(rt.ToString());

                                // Takmicenje 1
                                rt.Takmicenje1.PoredakUkupno.dumpRezultati(logStreamWriter);
                                foreach (Sprava s in Sprave.getSprave(t.Gimnastika))
                                {
                                    if (s != Sprava.Preskok)
                                    {
                                        rt.Takmicenje1.getPoredakSprava(s).dumpRezultati(logStreamWriter);
                                    }
                                    else
                                    {
                                        rt.Takmicenje1.PoredakPreskok.dumpRezultati(logStreamWriter, rt.Propozicije);
                                    }
                                }
                                if (rt.ImaEkipnoTakmicenje)
                                {
                                    rt.Takmicenje1.PoredakEkipno.dumpRezultati(logStreamWriter);
                                }

                                // Finale kupa
                                if (rt.Takmicenje1.PoredakUkupnoFinaleKupa != null)
                                {
                                    rt.Takmicenje1.PoredakUkupnoFinaleKupa.dumpRezultati(logStreamWriter);
                                }
                                foreach (Sprava s in Sprave.getSprave(t.Gimnastika))
                                {
                                    PoredakSpravaFinaleKupa p = rt.Takmicenje1.getPoredakSpravaFinaleKupa(s);
                                    if (p != null)
                                    {
                                        p.dumpRezultati(logStreamWriter);
                                    }
                                }
                                if (rt.Takmicenje1.PoredakEkipnoFinaleKupa != null)
                                {
                                    rt.Takmicenje1.PoredakEkipnoFinaleKupa.dumpRezultati(logStreamWriter);
                                }

                                // Zbir vise kola
                                if (rt.Takmicenje1.PoredakUkupnoZbirViseKola != null)
                                {
                                    rt.Takmicenje1.PoredakUkupnoZbirViseKola.dumpRezultati(logStreamWriter);
                                }
                                if (rt.Takmicenje1.PoredakEkipnoZbirViseKola != null)
                                {
                                    rt.Takmicenje1.PoredakEkipnoZbirViseKola.dumpRezultati(logStreamWriter);
                                }

                                // Takmicenje 2
                                if (rt.Takmicenje2 != null && rt.Takmicenje2.Poredak != null)
                                {
                                    rt.Takmicenje2.Poredak.dumpRezultati(logStreamWriter);
                                }

                                // Takmicenje 3
                                if (rt.Takmicenje3 != null)
                                {
                                    foreach (Sprava s in Sprave.getSprave(t.Gimnastika))
                                    {
                                        if (s != Sprava.Preskok)
                                        {
                                            PoredakSprava p = rt.Takmicenje3.getPoredak(s);
                                            if (p != null)
                                            {
                                                p.dumpRezultati(logStreamWriter);
                                            }
                                        }
                                        else if (rt.Takmicenje3.PoredakPreskok != null)
                                        {
                                            rt.Takmicenje3.PoredakPreskok.dumpRezultati(logStreamWriter, rt.Propozicije);
                                        }
                                    }
                                }

                                // Takmicenje 4
                                if (rt.Takmicenje4 != null && rt.Takmicenje4.Poredak != null)
                                {
                                    rt.Takmicenje4.Poredak.dumpRezultati(logStreamWriter);
                                }
                            }
                        }
                }
                catch (Exception ex)
                {
                    if (session != null && session.Transaction != null && session.Transaction.IsActive)
                    {
                        session.Transaction.Rollback();
                    }
                    logStreamWriter.Close();
                    form.Close();
                    throw new InfrastructureException(ex.Message, ex);
                }
                finally
                {
                    CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
                }
            }
            logStreamWriter.Close();
            form.Close();
        }
Esempio n. 2
0
        private void btnIzracunaj_Click(object sender, EventArgs e)
        {
            string msg;

            if (kvalColumnVisible())
            {
                msg = "Da li zelite da izracunate poredak, kvalifikante i rezerve?";
            }
            else
            {
                msg = "Da li zelite da izracunate poredak?";
            }
            if (!MessageDialogs.queryConfirmation(msg, this.Text))
            {
                return;
            }

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

            try
            {
                using (session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);

                        OcenaDAO      ocenaDAO = DAOFactoryFactory.DAOFactory.GetOcenaDAO();
                        IList <Ocena> ocene    = ocenaDAO.FindByDeoTakmicenja(takmicenje.Id, deoTakKod);
                        if (ActiveSprava != Sprava.Preskok)
                        {
                            PoredakSprava p = ActiveTakmicenje.getPoredakSprava(deoTakKod, ActiveSprava);
                            p.create(ActiveTakmicenje, ocene);
                            DAOFactoryFactory.DAOFactory.GetPoredakSpravaDAO().Update(p);
                        }
                        else
                        {
                            PoredakPreskok p = ActiveTakmicenje.getPoredakPreskok(deoTakKod);
                            p.create(ActiveTakmicenje, ocene);
                            DAOFactoryFactory.DAOFactory.GetPoredakPreskokDAO().Update(p);
                        }
                        foreach (Ocena o in ocene)
                        {
                            ocenaDAO.Evict(o);
                        }

                        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
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }

            setItems();
        }
Esempio n. 3
0
        private void mnSpraveKojeSeBoduju_Click(object sender, EventArgs e)
        {
            IList <GimnasticarUcesnik> selItems = getActiveDataGridViewUserControl()
                                                  .getSelectedItems <GimnasticarUcesnik>();

            if (selItems.Count != 1)
            {
                return;
            }
            GimnasticarUcesnik g = selItems[0];

            List <int> checkedItems = new List <int>();

            foreach (Sprava s in Sprave.getSprave(ActiveRezTakmicenje.Gimnastika))
            {
                if (g.getSpravaSeBoduje(s))
                {
                    checkedItems.Add(Sprave.indexOf(s, ActiveRezTakmicenje.Gimnastika));
                }
            }

            CheckListForm form = new CheckListForm(
                new List <string>(Sprave.getSpraveNazivi(ActiveRezTakmicenje.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(ActiveRezTakmicenje.Gimnastika);
            IList <Sprava> spraveKojeSeBoduju = new List <Sprava>();

            g.clearSpraveKojeSeBoduju();
            foreach (int i in form.CheckedIndices)
            {
                g.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.GetGimnasticarUcesnikDAO().Update(g);

                        PoredakSpravaDAO  poredakSpravaDAO  = DAOFactoryFactory.DAOFactory.GetPoredakSpravaDAO();
                        PoredakPreskokDAO poredakPreskokDAO = DAOFactoryFactory.DAOFactory.GetPoredakPreskokDAO();

                        OcenaDAO      ocenaDAO = DAOFactoryFactory.DAOFactory.GetOcenaDAO();
                        IList <Ocena> ocene    = ocenaDAO.FindByDeoTakmicenja(takmicenje.Id, DeoTakmicenjaKod.Takmicenje1);

                        foreach (Sprava s in Sprave.getSprave(ActiveRezTakmicenje.Gimnastika))
                        {
                            if (s != Sprava.Preskok)
                            {
                                PoredakSprava p = ActiveRezTakmicenje.getPoredakSprava(DeoTakmicenjaKod.Takmicenje1, s);
                                poredakSpravaDAO.Attach(p, false);
                                p.create(ActiveRezTakmicenje, ocene);
                                poredakSpravaDAO.Update(p);
                            }
                            else
                            {
                                PoredakPreskok p = ActiveRezTakmicenje.getPoredakPreskok(DeoTakmicenjaKod.Takmicenje1);
                                poredakPreskokDAO.Attach(p, false);
                                p.create(ActiveRezTakmicenje, ocene);
                                poredakPreskokDAO.Update(p);
                            }
                        }
                        foreach (Ocena o in ocene)
                        {
                            ocenaDAO.Evict(o);
                        }

                        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);
            }
        }