예제 #1
0
        public static void initRezultatiUkupnoZaEkipe(DataGridViewUserControl dgw,
                                                      Takmicenje takmicenje)
        {
            dgw.DataGridView.Columns.Clear();

            dgw.AddColumn("Ime", "PrezimeIme", 170);
            dgw.AddColumn("Klub/Drzava", "KlubDrzava", 130);

            Sprava[] sprave = Sprave.getSprave(takmicenje.Gimnastika);

            foreach (Sprava sprava in sprave)
            {
                string columnName = Sprave.toString(sprava);
                string propName   = columnName;
                int    width      = 50;
                if (sprava == Sprava.Konj)
                {
                    width    = 70;
                    propName = "Konj";
                }
                else if (sprava == Sprava.DvovisinskiRazboj)
                {
                    width    = 70;
                    propName = "DvovisinskiRazboj";
                }
                dgw.AddColumn(columnName, propName, width, "{0:F" + takmicenje.BrojDecimalaTotal + "}");
            }
            dgw.AddColumn("Ukupno", "Total", 50, "{0:F" + takmicenje.BrojDecimalaTotal + "}");
        }
예제 #2
0
        private void initTab(TabPage tabPage, RasporedSudija raspored)
        {
            SpravaGridGroupUserControl spravaGridGroupUserControl = new SpravaGridGroupUserControl();

            spravaGridGroupUserControl.Location              = USER_CONTROL_LOCATION;
            spravaGridGroupUserControl.SpravaGridRightClick +=
                new EventHandler <SpravaGridRightClickEventArgs>(spravaGridGroupUserControl1_SpravaGridRightClick);
            //spravaGridGroupUserControl.Size = this.rasporedSudijaUserControl1.Size;
            spravaGridGroupUserControl.init(Sprave.getSprave(takmicenje.Gimnastika)); // odredjuje i Size
            foreach (SpravaGridUserControl c in spravaGridGroupUserControl.SpravaGridUserControls)
            {
                SudijskiOdborNaSpravi odbor = raspored.getOdbor(c.Sprava);
                int odborId = odbor != null ? odbor.Id : 0;
                GridColumnsInitializer.initRasporedSudija(odborId, c.DataGridViewUserControl);
                c.DataGridViewUserControl.DataGridView.ColumnWidthChanged += new DataGridViewColumnEventHandler(DataGridView_ColumnWidthChanged);
            }
            spravaGridGroupUserControl.TabIndex = this.spravaGridGroupUserControl1.TabIndex;

            tabPage.SuspendLayout();
            tabPage.Controls.Add(spravaGridGroupUserControl);
            tabPage.BackColor = this.tabPage1.BackColor;
            tabPage.Location  = this.tabPage1.Location;
            tabPage.Padding   = this.tabPage1.Padding;
            tabPage.Size      = this.tabPage1.Size;
            //tabPage.TabIndex = rasporedi.IndexOf(raspored); // This property is not
            //  meaningful for this control.
            tabPage.AutoScroll        = true;
            tabPage.AutoScrollMinSize = new Size(
                spravaGridGroupUserControl.Right, spravaGridGroupUserControl.Bottom);
            tabPage.AutoScrollMargin = new Size(spravaGridGroupUserControl.Location);
            tabPage.Text             = raspored.Naziv;
            //tabPage.UseVisualStyleBackColor = this.tabPage1.UseVisualStyleBackColor;
            tabPage.ResumeLayout(false);
        }
예제 #3
0
        public SpravaFinaleKupaIzvestaj(List <List <RezultatSpravaFinaleKupa> > rezultatiSprave,
                                        Gimnastika gim, bool kvalColumn, string documentName, int brojSpravaPoStrani, DataGridView formGrid)
        {
            DocumentName = documentName;
            Font itemFont        = new Font("Arial", 8);
            Font itemsHeaderFont = new Font("Arial", 8, FontStyle.Bold);

            svakaSpravaNaPosebnojStrani = brojSpravaPoStrani == 1;

            Sprava[] sprave = Sprave.getSprave(gim);
            for (int i = 0; i < sprave.Length; i++)
            {
                Sprava sprava = sprave[i];
                int    page;
                float  relY;
                if (brojSpravaPoStrani != 1)
                {
                    page = (i / brojSpravaPoStrani) + 1;
                    relY = (i % brojSpravaPoStrani) / (brojSpravaPoStrani * 1f) + 0.03f;
                }
                else
                {
                    page = i + 1;
                    relY = 0.0f + 0.03f;
                }
                SpravaFinaleKupaLista lista = new SpravaFinaleKupaLista(this, page, 0f, itemFont, itemsHeaderFont,
                                                                        rezultatiSprave[i], kvalColumn, sprava, formGrid);
                lista.RelY = relY;
                liste.Add(lista);
            }
        }
예제 #4
0
 private void createTab(RasporedSudija raspored)
 {
     if (rasporedi.IndexOf(raspored) == 0) // prvi tab
     {
         // init first tab
         if (tabControl1.TabPages.IndexOf(tabPage1) < 0)
         {
             tabControl1.TabPages.Add(tabPage1);
         }
         spravaGridGroupUserControl1.Location              = USER_CONTROL_LOCATION;
         spravaGridGroupUserControl1.SpravaGridRightClick +=
             new EventHandler <SpravaGridRightClickEventArgs>(spravaGridGroupUserControl1_SpravaGridRightClick);
         spravaGridGroupUserControl1.init(Sprave.getSprave(takmicenje.Gimnastika));
         foreach (SpravaGridUserControl c in spravaGridGroupUserControl1.SpravaGridUserControls)
         {
             SudijskiOdborNaSpravi odbor = raspored.getOdbor(c.Sprava);
             int odborId = odbor != null ? odbor.Id : 0;
             GridColumnsInitializer.initRasporedSudija(odborId, c.DataGridViewUserControl);
             c.DataGridViewUserControl.DataGridView.ColumnWidthChanged += new DataGridViewColumnEventHandler(DataGridView_ColumnWidthChanged);
         }
         tabPage1.AutoScroll        = true;
         tabPage1.AutoScrollMinSize = new Size(
             spravaGridGroupUserControl1.Right, spravaGridGroupUserControl1.Bottom);
         tabPage1.AutoScrollMargin =
             new Size(spravaGridGroupUserControl1.Location);
         tabPage1.Text = raspored.Naziv;
     }
     else
     {
         // init other tabs
         TabPage newTab = new TabPage();
         tabControl1.Controls.Add(newTab);
         initTab(newTab, raspored);
     }
 }
예제 #5
0
 private void fillElementiMap(List <Element> elementi)
 {
     foreach (Sprava s in Sprave.getSprave())
     {
         foreach (GrupaElementa g in GrupeElementa.getGrupe())
         {
             elementiMap[getElementiKey(s, g)] = getSortedElements(s, g, elementi);
         }
     }
 }
예제 #6
0
 private void fillItemsMap()
 {
     foreach (Sprava s in Sprave.getSprave())
     {
         foreach (GrupaElementa g in GrupeElementa.getGrupe())
         {
             createItems(s, g);
         }
     }
 }
예제 #7
0
        public SpravaIzvestaj(List <List <RezultatSprava> > rezultatiSprave,
                              List <RezultatPreskok> rezultatiPreskok, bool obaPreskoka, Gimnastika gim,
                              bool kvalColumn, string documentName, int brojSpravaPoStrani, bool prikaziPenal,
                              DataGridView formGrid, bool markFirstRows, int numRowsToMark)
        {
            DocumentName = documentName;
            Font itemFont        = new Font("Arial", 8);
            Font itemsHeaderFont = new Font("Arial", 8, FontStyle.Bold);

            svakaSpravaNaPosebnojStrani = brojSpravaPoStrani == 1;

            Sprava[] sprave = Sprave.getSprave(gim);
            for (int i = 0; i < sprave.Length; i++)
            {
                Sprava sprava = sprave[i];
                int    page;
                float  relY;
                if (brojSpravaPoStrani != 1)
                {
                    page = (i / brojSpravaPoStrani) + 1;
                    relY = (i % brojSpravaPoStrani) / (brojSpravaPoStrani * 1f) + 0.03f;
                }
                else
                {
                    page = i + 1;
                    relY = 0.0f + 0.03f;
                }
                if (sprava != Sprava.Preskok)
                {
                    int spravaIndex = i;
                    if (i > Sprave.indexOf(Sprava.Preskok, gim))
                    {
                        spravaIndex--;
                    }

                    SpravaLista lista = new SpravaLista(this, page, 0f, itemFont, itemsHeaderFont,
                                                        rezultatiSprave[spravaIndex], kvalColumn, sprava, prikaziPenal, formGrid, markFirstRows,
                                                        numRowsToMark);
                    lista.RelY = relY;
                    liste.Add(lista);
                }
                else
                {
                    SpravaLista lista = new SpravaLista(this, page, 0f, itemFont, itemsHeaderFont,
                                                        rezultatiPreskok, kvalColumn, obaPreskoka, prikaziPenal, formGrid, markFirstRows,
                                                        numRowsToMark);
                    lista.RelY = relY;
                    liste.Add(lista);
                }
            }
        }
예제 #8
0
        public int getPageCount()
        {
            int result = 0;

            foreach (Sprava s in Sprave.getSprave())
            {
                foreach (GrupaElementa g in GrupeElementa.getGrupe())
                {
                    int brojVrsta = getBrojVrsta(s, g);
                    if (brojVrsta % 4 != 0)
                    {
                        brojVrsta += 4 - brojVrsta % 4;
                    }
                    result += brojVrsta / 4;
                }
            }
            return(result);
        }
예제 #9
0
 public void init()
 {
     Sprava[] sprave = Sprave.getSprave(gimnastika);
     pictureBox1.Image = SlikeSprava.getImage(sprave[0]);
     pictureBox2.Image = SlikeSprava.getImage(sprave[1]);
     pictureBox3.Image = SlikeSprava.getImage(sprave[2]);
     pictureBox4.Image = SlikeSprava.getImage(sprave[3]);
     if (gimnastika == Gimnastika.MSG)
     {
         pictureBox5.Image = SlikeSprava.getImage(sprave[4]);
         pictureBox6.Image = SlikeSprava.getImage(sprave[5]);
     }
     else
     {
         pictureBox5.Visible = false;
         pictureBox6.Visible = false;
         textBox6.Visible    = false;
         textBox7.Visible    = false;
     }
 }
예제 #10
0
        public static void initRezultatiEkipno(DataGridViewUserControl dgw, Takmicenje takmicenje, bool kvalColumn,
                                               bool penalty)
        {
            dgw.DataGridView.Columns.Clear();

            dgw.AddColumn("Rank", "Rank", 40);
            dgw.AddColumn("Ekipa", "NazivEkipe", 170);

            Sprava[] sprave = Sprave.getSprave(takmicenje.Gimnastika);

            foreach (Sprava sprava in sprave)
            {
                string columnName = Sprave.toString(sprava);
                string propName   = columnName;
                int    width      = 50;
                if (sprava == Sprava.Konj)
                {
                    width    = 70;
                    propName = "Konj";
                }
                else if (sprava == Sprava.DvovisinskiRazboj)
                {
                    width    = 70;
                    propName = "DvovisinskiRazboj";
                }
                dgw.AddColumn(columnName, propName, width, "{0:F" + takmicenje.BrojDecimalaTotal + "}");
            }
            dgw.AddColumn("Ukupno", "Total", 50, "{0:F" + takmicenje.BrojDecimalaTotal + "}");

            if (penalty)
            {
                dgw.AddColumn("Pen.", "Penalty", 50, "{0:F" + takmicenje.BrojDecimalaPen + "}");
            }

            if (kvalColumn)
            {
                dgw.AddColumn("", "KvalStatus", 30);
            }
        }
예제 #11
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (ActiveRaspored == null)
            {
                return;
            }
            SelectSpravaForm form = new SelectSpravaForm(Sprave.getSprave(takmicenje.Gimnastika),
                                                         getActiveSpravaGridGroupUserControl().SelectedSprava);

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            Sprava sprava = form.Sprava;

            if (sprava == Sprava.Undefined)
            {
                return;
            }

            promeniStartListuCommand(sprava);
        }
예제 #12
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())
                        {
                            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);
            }
        }
예제 #13
0
        public IList <TableItemBoundary> getItemBoundaries()
        {
            List <TableItemBoundary> result = new List <TableItemBoundary>();
            int pageNum = 0;

            foreach (Sprava s in Sprave.getSprave())
            {
                foreach (GrupaElementa g in GrupeElementa.getGrupe())
                {
                    int brojVrsta = getBrojVrsta(s, g);
                    if (brojVrsta % 4 != 0)
                    {
                        brojVrsta += 4 - brojVrsta % 4;
                    }
                    int page = 0;
                    while (page < brojVrsta / 4)
                    {
                        result.Add(new TableItemBoundary(++pageNum, s, g, page * 24 + 1));
                        ++page;
                    }
                }
            }
            return(result);
        }
예제 #14
0
        public SudijskiFormularIzvestaj(List <StartListaNaSpravi> startListe, Gimnastika gim,
                                        string documentName, int brojEOcena, int brojSpravaPoStrani, bool stampajRedniBroj,
                                        bool stampajKategoriju, bool stampajKlub, SpravaGridGroupUserControl spravaGridGroupUserControl)
        {
            DocumentName = documentName;
            Font itemFont        = new Font("Arial", itemFontSize);
            Font itemsHeaderFont = new Font("Arial", itemFontSize, FontStyle.Bold);

            svakaSpravaNaPosebnojStrani = brojSpravaPoStrani == 1;

            Landscape = true;
            Margins   = new Margins(30, 30, 75, 75);

            Sprava[] sprave = Sprave.getSprave(gim);
            for (int i = 0; i < sprave.Length; i++)
            {
                Sprava sprava = sprave[i];
                int    page;
                float  relY;
                if (brojSpravaPoStrani != 1)
                {
                    page = (i / brojSpravaPoStrani) + 1;
                    relY = (i % brojSpravaPoStrani) / (brojSpravaPoStrani * 1f) + 0.03f;
                }
                else
                {
                    page = i + 1;
                    relY = 0.0f + 0.03f;
                }
                SudijskiFormularLista lista = new SudijskiFormularLista(this, page, 0f, itemFont, itemsHeaderFont,
                                                                        startListe[i], brojEOcena, stampajRedniBroj, stampajKategoriju, stampajKlub,
                                                                        spravaGridGroupUserControl[sprava].DataGridViewUserControl.DataGridView);
                lista.RelY = relY;
                reportListe.Add(lista);
            }
        }
예제 #15
0
        private List <Sprava> getIzabraneSprave(Panel p)
        {
            List <Sprava> izabraneSprave = new List <Sprava>();

            foreach (CheckBox ckb in getCheckBoxes(p))
            {
                if (ckb.Checked)
                {
                    izabraneSprave.Add(getSprava(ckb));
                }
            }

            // Vrati sprave po FIGA redosledu.
            List <Sprava> result = new List <Sprava>();

            foreach (Sprava s in Sprave.getSprave(gimnastika))
            {
                if (izabraneSprave.IndexOf(s) != -1)
                {
                    result.Add(s);
                }
            }
            return(result);
        }
예제 #16
0
        private void mnSpraveKojeSeBoduju_Click(object sender, EventArgs e)
        {
            IList <RezultatEkipno> rezultatiEkipe = dataGridViewUserControl1.getSelectedItems <RezultatEkipno>();

            if (rezultatiEkipe.Count != 1)
            {
                return;
            }
            RezultatEkipno rezultat = rezultatiEkipe[0];

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

            foreach (Sprava s in Sprave.getSprave(gimnastika))
            {
                if (rezultat.Ekipa.getSpravaSeBoduje(s))
                {
                    checkedItems.Add(Sprave.indexOf(s, gimnastika));
                }
            }

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

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

                        PoredakEkipnoDAO poredakEkipnoDAO = DAOFactoryFactory.DAOFactory.GetPoredakEkipnoDAO();

                        PoredakEkipno p = ActiveTakmicenje.getPoredakEkipno(deoTakKod);
                        poredakEkipnoDAO.Attach(p, false);

                        p.recreateRezultat(rezultat.Ekipa, ActiveTakmicenje,
                                           RezultatskoTakmicenjeService.findRezultatiUkupnoForEkipa(takmicenje.Id, rezultat.Ekipa));
                        poredakEkipnoDAO.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);
                Close();
                return;
            }
            finally
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }

            dataGridViewUserControl1.setItems <RezultatEkipno>(
                ActiveTakmicenje.getPoredakEkipno(deoTakKod).getRezultati());
            // posto je poredak ponovo kreiran, i rezultat za ekipu je nov objekat pa moram da ga iznova potrazim
            dataGridViewUserControl1.setSelectedItem <RezultatEkipno>(
                ActiveTakmicenje.getPoredakEkipno(deoTakKod).getRezultat(rezultat.Ekipa));
        }
예제 #17
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);
            }
        }
예제 #18
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            string nazivIzvestaja = ActiveTakmicenje.getNazivIzvestajaSprava(DeoTakmicenjaKod.Takmicenje1, true, true);

            HeaderFooterForm form = new HeaderFooterForm(DeoTakmicenjaKod.Takmicenje1,
                                                         false, true, false, false, false, false, false);

            if (!Opcije.Instance.HeaderFooterInitialized)
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);

                string mestoDatum = takmicenje.Mesto + "  "
                                    + takmicenje.Datum.ToShortDateString();
                form.Header1Text = ActiveTakmicenje.TakmicenjeDescription.Naziv;
                form.Header2Text = mestoDatum;
                form.Header3Text = ActiveTakmicenje.Kategorija.Naziv;
                form.Header4Text = nazivIzvestaja;
                form.FooterText  = mestoDatum;
            }
            else
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);
                form.Header1Text = ActiveTakmicenje.TakmicenjeDescription.Naziv;
                form.Header3Text = ActiveTakmicenje.Kategorija.Naziv;
                form.Header4Text = nazivIzvestaja;
            }

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            FormUtil.initHeaderFooterFromForm(form);
            Opcije.Instance.HeaderFooterInitialized = true;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                PreviewDialog p = new PreviewDialog();

                string documentName;
                if (form.StampajSveSprave)
                {
                    documentName = nazivIzvestaja + " - " + ActiveTakmicenje.Kategorija.Naziv;
                }
                else
                {
                    documentName = nazivIzvestaja + " - " + Sprave.toString(ActiveSprava) + " - "
                                   + ActiveTakmicenje.Kategorija.Naziv;
                }
                if (form.StampajSveSprave)
                {
                    List <List <RezultatSpravaFinaleKupa> > rezultatiSprave = new List <List <RezultatSpravaFinaleKupa> >();

                    foreach (Sprava s in Sprave.getSprave(ActiveTakmicenje.Gimnastika))
                    {
                        rezultatiSprave.Add(ActiveTakmicenje.Takmicenje1.getPoredakSpravaFinaleKupa(s).getRezultati());
                    }
                    p.setIzvestaj(new SpravaFinaleKupaIzvestaj(rezultatiSprave, ActiveTakmicenje.Gimnastika,
                                                               kvalColumnVisible(), documentName, form.BrojSpravaPoStrani,
                                                               spravaGridUserControl1.DataGridViewUserControl.DataGridView));
                }
                else
                {
                    List <RezultatSpravaFinaleKupa> rezultati =
                        ActiveTakmicenje.Takmicenje1.getPoredakSpravaFinaleKupa(ActiveSprava).getRezultati();

                    p.setIzvestaj(new SpravaFinaleKupaIzvestaj(ActiveSprava, rezultati,
                                                               kvalColumnVisible(), documentName, spravaGridUserControl1.DataGridViewUserControl.DataGridView));
                }

                p.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
            }
            finally
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
예제 #19
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (!rbtJednaSprava.Checked && !rbtDveSprave.Checked && !rbtTriSprave.Checked &&
                !rbtCetiriSprave.Checked && !rbtSestSprava.Checked)
            {
                MessageDialogs.showMessage("Izaberite broj sprava koje se rotiraju.", this.Text);
                DialogResult = DialogResult.None;
                return;
            }

            if (getBrojSprava() < aktivneSpraveRot1.Count)
            {
                string msg = "Niste izabrali dovoljan broj sprava koje se rotiraju.\n\n" +
                             "Broj sprava koje se rotiraju ne sme biti " +
                             "manji od broja sprava za koje postoje start liste na rotaciji 1.";
                MessageDialogs.showMessage(msg, this.Text);
                DialogResult = DialogResult.None;
                return;
            }

            foreach (Panel p in getAktivniPaneli())
            {
                if (getIzabraneSprave(p).Count != getBrojSprava())
                {
                    string msg;
                    if (getBrojSprava() != 1)
                    {
                        msg = String.Format("Izaberite {0} sprave po rotaciji.", getBrojSprava());
                    }
                    else
                    {
                        msg = String.Format("Izaberite jednu spravu po rotaciji.");
                    }
                    MessageDialogs.showMessage(msg, this.Text);
                    DialogResult = DialogResult.None;
                    return;
                }
            }

            if ((gimnastika == Gimnastika.MSG && getBrojSprava() != 6) ||
                gimnastika == Gimnastika.ZSG && getBrojSprava() != 4)
            {
                List <Sprava> izabraneSprave = getSveIzabraneSprave();
                foreach (Sprava s in Sprave.getSprave(gimnastika))
                {
                    if (izabraneSprave.IndexOf(s) == -1)
                    {
                        string msg = String.Format("Niste izabrali sve sprave.");
                        MessageDialogs.showMessage(msg, this.Text);
                        DialogResult = DialogResult.None;
                        return;
                    }
                }
            }

            this.aktivneSprave = new List <List <Sprava> >();
            if (gimnastika == Gimnastika.MSG)
            {
                if (getBrojSprava() == 1)
                {
                    this.aktivneSprave.Add(getIzabraneSprave(panel1));
                    this.aktivneSprave.Add(getIzabraneSprave(panel2));
                    this.aktivneSprave.Add(getIzabraneSprave(panel3));
                    this.aktivneSprave.Add(getIzabraneSprave(panel4));
                    this.aktivneSprave.Add(getIzabraneSprave(panel5));
                    this.aktivneSprave.Add(getIzabraneSprave(panel6));
                }
                else if (getBrojSprava() == 2)
                {
                    this.aktivneSprave.Add(getIzabraneSprave(panel1));
                    this.aktivneSprave.Add(getIzabraneSprave(panel1));
                    this.aktivneSprave.Add(getIzabraneSprave(panel2));
                    this.aktivneSprave.Add(getIzabraneSprave(panel2));
                    this.aktivneSprave.Add(getIzabraneSprave(panel3));
                    this.aktivneSprave.Add(getIzabraneSprave(panel3));
                }
                else if (getBrojSprava() == 3)
                {
                    this.aktivneSprave.Add(getIzabraneSprave(panel1));
                    this.aktivneSprave.Add(getIzabraneSprave(panel1));
                    this.aktivneSprave.Add(getIzabraneSprave(panel1));
                    this.aktivneSprave.Add(getIzabraneSprave(panel2));
                    this.aktivneSprave.Add(getIzabraneSprave(panel2));
                    this.aktivneSprave.Add(getIzabraneSprave(panel2));
                }
                else if (getBrojSprava() == 6)
                {
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                }
            }
            else
            {
                if (getBrojSprava() == 1)
                {
                    this.aktivneSprave.Add(getIzabraneSprave(panel7));
                    this.aktivneSprave.Add(getIzabraneSprave(panel8));
                    this.aktivneSprave.Add(getIzabraneSprave(panel9));
                    this.aktivneSprave.Add(getIzabraneSprave(panel10));
                }
                else if (getBrojSprava() == 2)
                {
                    this.aktivneSprave.Add(getIzabraneSprave(panel7));
                    this.aktivneSprave.Add(getIzabraneSprave(panel7));
                    this.aktivneSprave.Add(getIzabraneSprave(panel8));
                    this.aktivneSprave.Add(getIzabraneSprave(panel8));
                }
                else if (getBrojSprava() == 4)
                {
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                    this.aktivneSprave.Add(new List <Sprava>(Sprave.getSprave(gimnastika)));
                }
            }

            // Proveri da li su sve sprave koje su aktivne u rotaciji 1 medju izabranim spravama za rotaciju 1.
            foreach (Sprava s in aktivneSpraveRot1)
            {
                if (this.aktivneSprave[0].IndexOf(s) == -1)
                {
                    string msg = String.Format("Greska - na rotaciji 1 postoji start lista za spravu {0} koju " +
                                               "niste izabrali na rotaciji 1.", Sprave.toString(s));
                    MessageDialogs.showMessage(msg, "Greska");
                    this.aktivneSprave.Clear();
                    DialogResult = DialogResult.None;
                    return;
                }
            }
        }
예제 #20
0
        public KvalifikantiTak3Izvestaj(List <List <RezultatSprava> > rezultatiSprave,
                                        List <RezultatPreskok> rezultatiPreskok, bool obaPreskoka, Gimnastika gim,
                                        string documentName, int brojSpravaPoStrani, DataGridView formGrid)
        {
            DocumentName = documentName;
            Font itemFont        = new Font("Arial", itemFontSize);
            Font itemsHeaderFont = new Font("Arial", itemFontSize, FontStyle.Bold);

            svakaSpravaNaPosebnojStrani = brojSpravaPoStrani == 1;
            bool sveSpraveNaJednojStrani = brojSpravaPoStrani > 3;

            if (sveSpraveNaJednojStrani)
            {
                Margins = new Margins(50, 50, 25, 25);
                kvalifikantiIzvestaj = true;
            }

            Sprava[] sprave = Sprave.getSprave(gim);
            for (int i = 0; i < sprave.Length; i++)
            {
                Sprava sprava = sprave[i];
                int    page;
                float  relY;
                int    columnNumber = 1;
                if (sveSpraveNaJednojStrani)
                {
                    page         = 1;
                    relY         = (i / 2) * (1 / 3f) + 0.03f;
                    columnNumber = (i % 2 == 0) ? 1 : 2;
                }
                else if (brojSpravaPoStrani == 2 || brojSpravaPoStrani == 3)
                {
                    page = (i / brojSpravaPoStrani) + 1;
                    relY = (i % brojSpravaPoStrani) / (brojSpravaPoStrani * 1f) + 0.03f;
                }
                else // brojSpravaPoStrani == 1
                {
                    page = i + 1;
                    relY = 0.0f + 0.03f;
                }
                if (sprava != Sprava.Preskok)
                {
                    int spravaIndex = i;
                    if (i > Sprave.indexOf(Sprava.Preskok, gim))
                    {
                        spravaIndex--;
                    }

                    KvalifikantiTak3Lista lista = new KvalifikantiTak3Lista(this, page, 0f, itemFont, itemsHeaderFont,
                                                                            rezultatiSprave[spravaIndex], sprava, sveSpraveNaJednojStrani, columnNumber,
                                                                            formGrid);
                    lista.RelY = relY;
                    reportListe.Add(lista);
                }
                else
                {
                    KvalifikantiTak3Lista lista = new KvalifikantiTak3Lista(this, page, 0f, itemFont, itemsHeaderFont,
                                                                            rezultatiPreskok, obaPreskoka, sveSpraveNaJednojStrani, columnNumber,
                                                                            formGrid);
                    lista.RelY = relY;
                    reportListe.Add(lista);
                }
            }
        }
예제 #21
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidth  = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float ekipaWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float koloWidth  = rankWidth / 2;

            float spravaWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float totalWidth  = spravaWidth;
            float kvalWidth   = rankWidth / 2;

            float xRank    = contentBounds.X;
            float xEkipa   = xRank + rankWidth;
            float xKolo    = xEkipa + ekipaWidth;
            float xParter  = xKolo + koloWidth;
            float xKonj    = xParter + spravaWidth;
            float xKarike  = xKonj + spravaWidth;
            float xPreskok = xKarike + spravaWidth;
            float xRazboj  = xPreskok + spravaWidth;
            float xVratilo = xRazboj + spravaWidth;
            float xTotal   = xVratilo + spravaWidth;

            if (gimnastika == Gimnastika.ZSG)
            {
                xTotal = xRazboj;
            }

            float xKval = xTotal + totalWidth;

            float xRightEnd = xKval;

            if (kvalColumn)
            {
                xRightEnd += kvalWidth;
            }

            float dWidth = (xKonj - xParter) / 3;

            float xParterE    = xParter + dWidth;
            float xParterTot  = xParterE + dWidth;
            float xKonjE      = xKonj + dWidth;
            float xKonjTot    = xKonjE + dWidth;
            float xKarikeE    = xKarike + dWidth;
            float xKarikeTot  = xKarikeE + dWidth;
            float xPreskokE   = xPreskok + dWidth;
            float xPreskokTot = xPreskokE + dWidth;
            float xRazbojE    = xRazboj + dWidth;
            float xRazbojTot  = xRazbojE + dWidth;
            float xVratiloE   = xVratilo + dWidth;
            float xVratiloTot = xVratiloE + dWidth;

            float delta = (contentBounds.Right - xRightEnd) / 2;  // moza da bude i negativno

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xRank     += delta;
            xEkipa    += delta;
            xKolo     += delta;
            xParter   += delta;
            xKonj     += delta;
            xKarike   += delta;
            xPreskok  += delta;
            xRazboj   += delta;
            xVratilo  += delta;
            xTotal    += delta;
            xKval     += delta;
            xRightEnd += delta;

            xParterE  += delta;
            xKonjE    += delta;
            xKarikeE  += delta;
            xPreskokE += delta;
            xRazbojE  += delta;
            xVratiloE += delta;

            xParterTot  += delta;
            xKonjTot    += delta;
            xKarikeTot  += delta;
            xPreskokTot += delta;
            xRazbojTot  += delta;
            xVratiloTot += delta;

            float spravaDWidth   = dWidth;
            float spravaEWidth   = dWidth;
            float spravaTotWidth = xKonj - xParter - 2 * dWidth;

            StringFormat rankFormat = Izvestaj.centerCenterFormat;

            StringFormat ekipaFormat = new StringFormat(StringFormatFlags.NoWrap);

            ekipaFormat.Alignment     = StringAlignment.Near;
            ekipaFormat.LineAlignment = StringAlignment.Center;

            StringFormat koloFormat = new StringFormat(StringFormatFlags.NoWrap);

            koloFormat.Alignment     = StringAlignment.Center;
            koloFormat.LineAlignment = StringAlignment.Center;

            StringFormat spravaFormat = Izvestaj.centerCenterFormat;
            StringFormat totalFormat  = Izvestaj.centerCenterFormat;
            StringFormat kvalFormat   = Izvestaj.centerCenterFormat;

            StringFormat rankHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat ekipaHeaderFormat  = Izvestaj.centerCenterFormat;
            StringFormat koloHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat  = Izvestaj.centerCenterFormat;

            String rankTitle  = "Rank";
            String ekipaTitle = "Ekipa";
            String koloTitle  = ""; // TODO3: Neka bude uspravno (isto u i ostalim izvestajima sa vise kola).
            String totalTitle = "Total";
            String kvalTitle  = String.Empty;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            ReportColumn column = addColumn(xEkipa, ekipaWidth, ekipaFormat, ekipaTitle, ekipaHeaderFormat);

            column = addKoloColumn(column.getItemsIndexEnd(), 2, xKolo, koloWidth, null, koloFormat,
                                   koloTitle, koloHeaderFormat);

            string fmtD   = "F" + Opcije.Instance.BrojDecimalaD;
            string fmtE   = "F" + Opcije.Instance.BrojDecimalaE;
            string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal;

            Sprava[] sprave = Sprave.getSprave(gimnastika);

            float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo };
            for (int i = 0; i < sprave.Length; i++)
            {
                column = addSpravaColumn(column.getItemsIndexEnd(), 2, x[i], spravaWidth, fmtTot,
                                         spravaFormat, "", spravaHeaderFormat);
                column.Image = SlikeSprava.getImage(sprave[i]);
            }

            column = addTotalColumn(column.getItemsIndexEnd(), 3, xTotal, totalWidth, fmtTot, totalFormat,
                                    totalTitle, totalHeaderFormat);
            column.Brush = totalAllBrush;

            if (kvalColumn)
            {
                column = addColumn(xKval, kvalWidth, kvalFormat, kvalTitle);
                column.DrawHeaderRect = false;
                column.DrawItemRect   = false;
            }
        }
예제 #22
0
        private void btnStampajKvalifikante_Click(object sender, EventArgs e)
        {
            string nazivIzvestaja = "Finale po spravama - kvalifikanti i rezerve";

            HeaderFooterForm form = new HeaderFooterForm(deoTakKod, false, true, false, false, false, false, false);

            if (!Opcije.Instance.HeaderFooterInitialized)
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);

                string mestoDatum = takmicenje.Mesto + "  "
                                    + takmicenje.Datum.ToShortDateString();
                form.Header1Text = ActiveTakmicenje.TakmicenjeDescription.Naziv;
                form.Header2Text = mestoDatum;
                form.Header3Text = ActiveTakmicenje.Kategorija.Naziv;
                form.Header4Text = nazivIzvestaja;
                form.FooterText  = mestoDatum;
                if (takmicenje.Gimnastika == Gimnastika.ZSG)
                {
                    form.BrojSpravaPoStrani = 4;
                }
                else
                {
                    form.BrojSpravaPoStrani = 6;
                }
            }
            else
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);
                form.Header1Text = ActiveTakmicenje.TakmicenjeDescription.Naziv;
                form.Header3Text = ActiveTakmicenje.Kategorija.Naziv;
                form.Header4Text = nazivIzvestaja;
            }

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            FormUtil.initHeaderFooterFromForm(form);
            Opcije.Instance.HeaderFooterInitialized = true;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                PreviewDialog p = new PreviewDialog();

                string documentName;
                if (form.StampajSveSprave)
                {
                    documentName = nazivIzvestaja + " - " + ActiveTakmicenje.Kategorija.Naziv;
                }
                else
                {
                    documentName = nazivIzvestaja + " - " + Sprave.toString(ActiveSprava) + " - "
                                   + ActiveTakmicenje.Kategorija.Naziv;
                }
                bool obaPresk = ActiveTakmicenje.Propozicije.Tak1PreskokNaOsnovuObaPreskoka;

                if (form.StampajSveSprave)
                {
                    List <List <RezultatSprava> > rezultatiSprave  = new List <List <RezultatSprava> >();
                    List <RezultatPreskok>        rezultatiPreskok = null;

                    foreach (Sprava s in Sprave.getSprave(ActiveTakmicenje.Gimnastika))
                    {
                        if (s != Sprava.Preskok)
                        {
                            rezultatiSprave.Add(ActiveTakmicenje.getPoredakSprava(deoTakKod, s).getKvalifikantiIRezerve());
                        }
                        else
                        {
                            rezultatiPreskok = ActiveTakmicenje.getPoredakPreskok(deoTakKod).getKvalifikantiIRezerve(obaPresk);
                        }
                    }
                    p.setIzvestaj(new KvalifikantiTak3Izvestaj(rezultatiSprave, rezultatiPreskok, obaPresk,
                                                               takmicenje.Gimnastika, documentName, form.BrojSpravaPoStrani,
                                                               spravaGridUserControl1.DataGridViewUserControl.DataGridView));
                }
                else
                {
                    if (ActiveSprava != Sprava.Preskok)
                    {
                        List <RezultatSprava> rezultati =
                            ActiveTakmicenje.getPoredakSprava(deoTakKod, ActiveSprava).getKvalifikantiIRezerve();
                        p.setIzvestaj(new KvalifikantiTak3Izvestaj(rezultati, ActiveSprava, documentName,
                                                                   spravaGridUserControl1.DataGridViewUserControl.DataGridView));
                    }
                    else
                    {
                        List <RezultatPreskok> rezultati =
                            ActiveTakmicenje.getPoredakPreskok(deoTakKod).getKvalifikantiIRezerve(obaPresk);
                        p.setIzvestaj(new KvalifikantiTak3Izvestaj(rezultati, obaPresk, documentName,
                                                                   spravaGridUserControl1.DataGridViewUserControl.DataGridView));
                    }
                }

                p.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
            }
            finally
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
예제 #23
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float imeWidth  = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;

            float spravaWidth  = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            float penaltyWidth = spravaWidth * (2.0f / 3);
            float totalWidth   = spravaWidth;

            if (extended)
            {
                spravaWidth = spravaWidth * 2.3f;
            }
            float kvalWidth = rankWidth / 2;

            float xRank    = contentBounds.X;
            float xIme     = xRank + rankWidth;
            float xKlub    = xIme + imeWidth;
            float xParter  = xKlub + klubWidth;
            float xKonj    = xParter + spravaWidth;
            float xKarike  = xKonj + spravaWidth;
            float xPreskok = xKarike + spravaWidth;
            float xRazboj  = xPreskok + spravaWidth;
            float xVratilo = xRazboj + spravaWidth;
            float xTotal   = xVratilo + spravaWidth;

            if (gimnastika == Gimnastika.ZSG)
            {
                xTotal = xRazboj;
            }

            float xPenalty = xTotal;

            if (penalty)
            {
                xTotal += penaltyWidth;
            }

            float xKval = xTotal + totalWidth;

            float xRightEnd = xKval;

            if (kvalColumn)
            {
                xRightEnd += kvalWidth;
            }

            float dWidth = (xKonj - xParter) / 3;

            float xParterE    = xParter + dWidth;
            float xParterTot  = xParterE + dWidth;
            float xKonjE      = xKonj + dWidth;
            float xKonjTot    = xKonjE + dWidth;
            float xKarikeE    = xKarike + dWidth;
            float xKarikeTot  = xKarikeE + dWidth;
            float xPreskokE   = xPreskok + dWidth;
            float xPreskokTot = xPreskokE + dWidth;
            float xRazbojE    = xRazboj + dWidth;
            float xRazbojTot  = xRazbojE + dWidth;
            float xVratiloE   = xVratilo + dWidth;
            float xVratiloTot = xVratiloE + dWidth;

            float delta = (contentBounds.Right - xRightEnd) / 2;  // moza da bude i negativno

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xRank     += delta;
            xIme      += delta;
            xKlub     += delta;
            xParter   += delta;
            xKonj     += delta;
            xKarike   += delta;
            xPreskok  += delta;
            xRazboj   += delta;
            xVratilo  += delta;
            xPenalty  += delta;
            xTotal    += delta;
            xKval     += delta;
            xRightEnd += delta;

            xParterE  += delta;
            xKonjE    += delta;
            xKarikeE  += delta;
            xPreskokE += delta;
            xRazbojE  += delta;
            xVratiloE += delta;

            xParterTot  += delta;
            xKonjTot    += delta;
            xKarikeTot  += delta;
            xPreskokTot += delta;
            xRazbojTot  += delta;
            xVratiloTot += delta;

            float spravaDWidth   = dWidth;
            float spravaEWidth   = dWidth;
            float spravaTotWidth = xKonj - xParter - 2 * dWidth;

            StringFormat rankFormat = Izvestaj.centerCenterFormat;

            // TODO3: Ispravi sledece greske gde je umesto Alignment stavljeno ponovljeno LineAlignment. Uradi to i u
            // ostalim izvestajima.

            StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap);

            imeFormat.LineAlignment = StringAlignment.Near;
            imeFormat.LineAlignment = StringAlignment.Center;

            StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap);

            klubFormat.LineAlignment = StringAlignment.Center;
            klubFormat.LineAlignment = StringAlignment.Center;

            StringFormat spravaFormat = Izvestaj.centerCenterFormat;
            StringFormat totalFormat  = Izvestaj.centerCenterFormat;
            StringFormat kvalFormat   = Izvestaj.centerCenterFormat;

            StringFormat rankHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat imeHeaderFormat    = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat  = Izvestaj.centerCenterFormat;

            String rankTitle  = Opcije.Instance.RankString;
            String imeTitle   = Opcije.Instance.ImeString;
            String klubTitle  = Opcije.Instance.KlubDrzavaString;
            String totalTitle = Opcije.Instance.TotalString;
            String kvalTitle  = String.Empty;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);

            string fmtD   = "F" + Opcije.Instance.BrojDecimalaD;
            string fmtE   = "F" + Opcije.Instance.BrojDecimalaE;
            string fmtPen = "F" + Opcije.Instance.BrojDecimalaPen;
            string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal;

            Sprava[]     sprave = Sprave.getSprave(gimnastika);
            ReportColumn column;

            if (extended)
            {
                float[] x = { xParter, xParterE, xParterTot, xKonj,    xKonjE,    xKonjTot,
                              xKarike, xKarikeE, xKarikeTot, xPreskok, xPreskokE, xPreskokTot,
                              xRazboj, xRazbojE, xRazbojTot, xVratilo, xVratiloE, xVratiloTot };
                for (int i = 0; i < sprave.Length; i++)
                {
                    ReportColumn column1 = addColumn(x[3 * i], spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat);
                    column1.Image = SlikeSprava.getImage(sprave[i]);
                    column1.Split = true;
                    column1.Span  = true;

                    column       = addColumn(x[3 * i + 1], spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;

                    column       = addColumn(x[3 * i + 2], spravaTotWidth, fmtTot, spravaFormat, "Total", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;
                    column.Brush = totalBrush;

                    if (column1.Span)
                    {
                        column1.SpanEndColumn = column;
                    }
                }
            }
            else
            {
                float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo };
                for (int i = 0; i < sprave.Length; i++)
                {
                    column       = addColumn(x[i], spravaWidth, fmtTot, spravaFormat, "", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                }
            }

            column       = addColumn(xTotal, totalWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat);
            column.Brush = totalAllBrush;

            if (kvalColumn)
            {
                column = addColumn(xKval, kvalWidth, kvalFormat, kvalTitle);
                column.DrawHeaderRect = false;
                column.DrawItemRect   = false;
            }
            if (penalty)
            {
                column = addColumn(xPenalty, penaltyWidth, fmtPen, totalFormat, "Pen.", totalHeaderFormat);
                if (!kvalColumn)
                {
                    // Posto se kvalifikacioni status uvek dodaje u report items, cak i ako ne postoji kolona za
                    // kval. status, moram da azuriram report item index za penalty ako nije dodata kolona za
                    // kvalifikacioni status.
                    column.itemsIndex += 1;
                }
            }
        }
예제 #24
0
        private void btnStampaj_Click(object sender, EventArgs e)
        {
            if (ActiveRaspored == null)
            {
                return;
            }

            string nazivIzvestaja;

            if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
            {
                nazivIzvestaja = "Raspored sudija - kvalifikacije";
            }
            else if (deoTakKod == DeoTakmicenjaKod.Takmicenje2)
            {
                nazivIzvestaja = "Raspored sudija - finale viseboja";
            }
            else if (deoTakKod == DeoTakmicenjaKod.Takmicenje3)
            {
                nazivIzvestaja = "Raspored sudija - finale po spravama";
            }
            else
            {
                nazivIzvestaja = "Raspored sudija - finale ekipno";
            }
            string kategorija = ActiveRaspored.Naziv;

            HeaderFooterForm form = new HeaderFooterForm(deoTakKod, false, true, false, false, false, false, false);

            if (!Opcije.Instance.HeaderFooterInitialized)
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);

                string mestoDatum = takmicenje.Mesto + "  "
                                    + takmicenje.Datum.ToShortDateString();
                form.Header1Text = takmicenje.Naziv;
                form.Header2Text = mestoDatum;
                form.Header3Text = nazivIzvestaja;
                form.Header4Text = kategorija;
                form.FooterText  = mestoDatum;
            }
            else
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);
                form.Header3Text = nazivIzvestaja;
                form.Header4Text = kategorija;
            }

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            FormUtil.initHeaderFooterFromForm(form);
            Opcije.Instance.HeaderFooterInitialized = true;

            Sprava sprava = Sprava.Undefined;

            if (!form.StampajSveSprave)
            {
                SelectSpravaForm form2 = new SelectSpravaForm(Sprave.getSprave(takmicenje.Gimnastika),
                                                              getActiveSpravaGridGroupUserControl().SelectedSprava);
                if (form2.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                sprava = form2.Sprava;
                if (sprava == Sprava.Undefined)
                {
                    return;
                }
            }

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                PreviewDialog p            = new PreviewDialog();
                string        documentName = nazivIzvestaja + kategorija;

                if (form.StampajSveSprave)
                {
                    List <SudijskiOdborNaSpravi> odbori = new List <SudijskiOdborNaSpravi>();
                    foreach (Sprava s in Sprave.getSprave(takmicenje.Gimnastika))
                    {
                        odbori.Add(ActiveRaspored.getOdbor(s));
                    }
                    p.setIzvestaj(new RasporedSudijaIzvestaj(odbori, takmicenje.Gimnastika, documentName,
                                                             form.BrojSpravaPoStrani, getActiveSpravaGridGroupUserControl(), takmicenje.VrhovniSudija));
                }
                else
                {
                    SudijskiOdborNaSpravi odbor = ActiveRaspored.getOdbor(sprava);
                    p.setIzvestaj(new RasporedSudijaIzvestaj(odbor, documentName,
                                                             getActiveSpravaGridGroupUserControl()[sprava].DataGridViewUserControl.DataGridView));
                }

                p.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
            }
            finally
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
예제 #25
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();
        }
예제 #26
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            string nazivIzvestaja = ActiveTakmicenje.getNazivIzvestajaSprava(deoTakKod, takmicenje.FinaleKupa, false);

            HeaderFooterForm form = new HeaderFooterForm(deoTakKod, false, true, true, false, false, false, false);

            if (!Opcije.Instance.HeaderFooterInitialized)
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);

                string mestoDatum = takmicenje.Mesto + "  "
                                    + takmicenje.Datum.ToShortDateString();
                form.Header1Text = ActiveTakmicenje.TakmicenjeDescription.Naziv;
                form.Header2Text = mestoDatum;
                form.Header3Text = ActiveTakmicenje.Kategorija.Naziv;
                form.Header4Text = nazivIzvestaja;
                form.FooterText  = mestoDatum;
            }
            else
            {
                FormUtil.initHeaderFooterFormFromOpcije(form);
                form.Header1Text = ActiveTakmicenje.TakmicenjeDescription.Naziv;
                form.Header3Text = ActiveTakmicenje.Kategorija.Naziv;
                form.Header4Text = nazivIzvestaja;
            }

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            FormUtil.initHeaderFooterFromForm(form);
            Opcije.Instance.HeaderFooterInitialized = true;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                string documentName;
                if (form.StampajSveSprave)
                {
                    documentName = nazivIzvestaja + " - " + ActiveTakmicenje.Kategorija.Naziv;
                }
                else
                {
                    documentName = nazivIzvestaja + " - " + Sprave.toString(ActiveSprava) + " - "
                                   + ActiveTakmicenje.Kategorija.Naziv;
                }
                bool obaPreskoka = ActiveTakmicenje.Propozicije.racunajObaPreskoka(deoTakKod);

                PreviewDialog p = new PreviewDialog();
                if (form.StampajSveSprave)
                {
                    List <List <RezultatSprava> > rezultatiSprave  = new List <List <RezultatSprava> >();
                    List <RezultatPreskok>        rezultatiPreskok = null;

                    foreach (Sprava s in Sprave.getSprave(ActiveTakmicenje.Gimnastika))
                    {
                        if (s != Sprava.Preskok)
                        {
                            rezultatiSprave.Add(ActiveTakmicenje.getPoredakSprava(deoTakKod, s).getRezultati());
                        }
                        else
                        {
                            rezultatiPreskok = ActiveTakmicenje.getPoredakPreskok(deoTakKod).getRezultati();
                        }
                    }
                    p.setIzvestaj(new SpravaIzvestaj(rezultatiSprave, rezultatiPreskok,
                                                     obaPreskoka, ActiveTakmicenje.Gimnastika, kvalColumnVisible(), documentName, form.BrojSpravaPoStrani,
                                                     form.PrikaziPenalSprave, spravaGridUserControl1.DataGridViewUserControl.DataGridView,
                                                     /*markFirstRows*/ false, /*numRowsToMark*/ 0));
                }
                else
                {
                    if (ActiveSprava != Sprava.Preskok)
                    {
                        // TODO3: Implementiraj oznacavanje osvajaca medalja i za ostale izvestaje (gde treba).
                        // Takodje, uvedi odgovarajucu opciju u dijalogu za stampanje.
                        List <RezultatSprava> rezultati =
                            ActiveTakmicenje.getPoredakSprava(deoTakKod, ActiveSprava).getRezultati();
                        p.setIzvestaj(new SpravaIzvestaj(ActiveSprava, rezultati,
                                                         kvalColumnVisible(), documentName, form.PrikaziPenalSprave,
                                                         spravaGridUserControl1.DataGridViewUserControl.DataGridView,
                                                         /*markFirstRows*/ !kvalColumnVisible(), /*numRowsToMark*/ getNumMedalists(rezultati)));
                    }
                    else
                    {
                        List <RezultatPreskok> rezultati =
                            ActiveTakmicenje.getPoredakPreskok(deoTakKod).getRezultati();
                        p.setIzvestaj(new SpravaIzvestaj(obaPreskoka, rezultati,
                                                         kvalColumnVisible(), documentName, form.PrikaziPenalSprave,
                                                         spravaGridUserControl1.DataGridViewUserControl.DataGridView,
                                                         /*markFirstRows*/ !kvalColumnVisible(),
                                                         /*numRowsToMark*/ getNumMedalists(rezultati)));
                    }
                }

                p.ShowDialog();

                // TODO2: U izvestajima za spravu treba da bude i penalizacija, a
                // slika sprave treba da bude iznad izvestaja. Naziv kolone total
                // treba da bude "Total" (ili "Ukupno").

                // TODO2: U izvestajima treba da postoji i linija za organizatora
                // takmicenja (recimo Gimnasticki savez srbije), i treba da bude
                // prva (u vrhu papira)

                // TODO2: Uvedi opciju da li se zeli stampanje izvestaja sa ili bez
                // linija
            }
            catch (Exception ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
            }
            finally
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
예제 #27
0
        public RasporedSudijaIzvestaj(List <SudijskiOdborNaSpravi> odbori, Gimnastika gim,
                                      string documentName, int brojSpravaPoStrani, SpravaGridGroupUserControl spravaGridGroupUserControl,
                                      SudijaUcesnik vrhovniSudija)
        {
            DocumentName = documentName;
            if (vrhovniSudija != null)
            {
                this.vrhovniSudija = vrhovniSudija.PrezimeIme;
                if (vrhovniSudija.Pol == Pol.Muski)
                {
                    vrhovniSudijaCaption = "Vrhovni sudija: ";
                }
                else
                {
                    vrhovniSudijaCaption = "Vrhovna sutkinja: ";
                }
            }
            else
            {
                this.vrhovniSudija = String.Empty;
                if (gim == Gimnastika.MSG)
                {
                    vrhovniSudijaCaption = "Vrhovni sudija: ";
                }
                else
                {
                    vrhovniSudijaCaption = "Vrhovna sutkinja: ";
                }
            }
            stampajVrhovnogSudiju = true;

            Font itemFont        = new Font("Arial", itemFontSize);
            Font itemsHeaderFont = new Font("Arial", itemFontSize, FontStyle.Bold);

            vrhovniSudijaCaptionFont = new Font("Arial", 11, FontStyle.Bold);
            vrhovniSudijaFont        = new Font("Arial", 11);

            svakaSpravaNaPosebnojStrani = brojSpravaPoStrani == 1;
            bool sveSpraveNaJednojStrani = brojSpravaPoStrani > 3;

            if (sveSpraveNaJednojStrani)
            {
                Margins = new Margins(50, 50, 100, 100);
            }

            Sprava[] sprave = Sprave.getSprave(gim);
            for (int i = 0; i < sprave.Length; i++)
            {
                Sprava sprava = sprave[i];
                int    page;
                float  relY;
                int    columnNumber = 1;
                if (sveSpraveNaJednojStrani)
                {
                    page         = 1;
                    relY         = (i / 2) * (1 / 3f) + 0.05f;
                    columnNumber = (i % 2 == 0) ? 1 : 2;
                }
                else if (brojSpravaPoStrani == 2 || brojSpravaPoStrani == 3)
                {
                    page = (i / brojSpravaPoStrani) + 1;
                    relY = (i % brojSpravaPoStrani) / (brojSpravaPoStrani * 1f) + 0.03f;
                }
                else // brojSpravaPoStrani == 1
                {
                    page = i + 1;
                    relY = 0.0f + 0.03f;
                }
                RasporedSudijaLista lista = new RasporedSudijaLista(this, page, 0f, itemFont, itemsHeaderFont,
                                                                    odbori[i], sveSpraveNaJednojStrani, columnNumber,
                                                                    spravaGridGroupUserControl[sprava].DataGridViewUserControl.DataGridView);
                lista.RelY = relY;
                reportListe.Add(lista);
            }
        }
예제 #28
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float imeWidth  = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float koloWidth = rankWidth / 2;

            float spravaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            float totalWidth  = spravaWidth;

            if (extended)
            {
                spravaWidth = spravaWidth * 2.3f;
            }

            float xRank    = contentBounds.X;
            float xIme     = xRank + rankWidth;
            float xKlub    = xIme + imeWidth;
            float xKolo    = xKlub + klubWidth;
            float xParter  = xKolo + koloWidth;
            float xKonj    = xParter + spravaWidth;
            float xKarike  = xKonj + spravaWidth;
            float xPreskok = xKarike + spravaWidth;
            float xRazboj  = xPreskok + spravaWidth;
            float xVratilo = xRazboj + spravaWidth;
            float xTotal   = xVratilo + spravaWidth;

            if (gimnastika == Gimnastika.ZSG)
            {
                xTotal = xRazboj;
            }
            float xRightEnd = xTotal + totalWidth;

            float dWidth = (xKonj - xParter) / 3;

            float xParterE    = xParter + dWidth;
            float xParterTot  = xParterE + dWidth;
            float xKonjE      = xKonj + dWidth;
            float xKonjTot    = xKonjE + dWidth;
            float xKarikeE    = xKarike + dWidth;
            float xKarikeTot  = xKarikeE + dWidth;
            float xPreskokE   = xPreskok + dWidth;
            float xPreskokTot = xPreskokE + dWidth;
            float xRazbojE    = xRazboj + dWidth;
            float xRazbojTot  = xRazbojE + dWidth;
            float xVratiloE   = xVratilo + dWidth;
            float xVratiloTot = xVratiloE + dWidth;

            float delta = (contentBounds.Right - xRightEnd) / 2;  // moza da bude i negativno

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xRank     += delta;
            xIme      += delta;
            xKlub     += delta;
            xKolo     += delta;
            xParter   += delta;
            xKonj     += delta;
            xKarike   += delta;
            xPreskok  += delta;
            xRazboj   += delta;
            xVratilo  += delta;
            xTotal    += delta;
            xRightEnd += delta;

            xParterE  += delta;
            xKonjE    += delta;
            xKarikeE  += delta;
            xPreskokE += delta;
            xRazbojE  += delta;
            xVratiloE += delta;

            xParterTot  += delta;
            xKonjTot    += delta;
            xKarikeTot  += delta;
            xPreskokTot += delta;
            xRazbojTot  += delta;
            xVratiloTot += delta;

            float spravaDWidth   = dWidth;
            float spravaEWidth   = dWidth;
            float spravaTotWidth = xKonj - xParter - 2 * dWidth;

            StringFormat rankFormat = Izvestaj.centerCenterFormat;

            StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap);

            imeFormat.Alignment     = StringAlignment.Near;
            imeFormat.LineAlignment = StringAlignment.Center;

            StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap);

            klubFormat.Alignment     = StringAlignment.Near;
            klubFormat.LineAlignment = StringAlignment.Center;

            StringFormat koloFormat = new StringFormat(StringFormatFlags.NoWrap);

            koloFormat.Alignment     = StringAlignment.Center;
            koloFormat.LineAlignment = StringAlignment.Center;

            StringFormat spravaFormat = Izvestaj.centerCenterFormat;
            StringFormat totalFormat  = Izvestaj.centerCenterFormat;
            StringFormat kvalFormat   = Izvestaj.centerCenterFormat;

            StringFormat rankHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat imeHeaderFormat    = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat koloHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat  = Izvestaj.centerCenterFormat;

            String rankTitle  = "Rank";
            String imeTitle   = "Ime";
            String klubTitle  = "Klub";
            String koloTitle  = "";
            String totalTitle = "Total";
            String kvalTitle  = String.Empty;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            ReportColumn column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);

            column = addKoloColumn(column.getItemsIndexEnd(), 4, xKolo, koloWidth, null, koloFormat,
                                   koloTitle, koloHeaderFormat);

            string fmtD   = "F" + Opcije.Instance.BrojDecimalaD;
            string fmtE   = "F" + Opcije.Instance.BrojDecimalaE;
            string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal;

            Sprava[] sprave = Sprave.getSprave(gimnastika);

            if (extended)
            {
                float[] x = { xParter, xParterE, xParterTot, xKonj,    xKonjE,    xKonjTot,
                              xKarike, xKarikeE, xKarikeTot, xPreskok, xPreskokE, xPreskokTot,
                              xRazboj, xRazbojE, xRazbojTot, xVratilo, xVratiloE, xVratiloTot };
                for (int i = 0; i < sprave.Length; i++)
                {
                    ReportColumn column1 = addColumn(x[3 * i], spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat);
                    column1.Image = SlikeSprava.getImage(sprave[i]);
                    column1.Split = true;
                    column1.Span  = true;

                    column       = addColumn(x[3 * i + 1], spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;

                    column       = addColumn(x[3 * i + 2], spravaTotWidth, fmtTot, spravaFormat, "Total", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;
                    column.Brush = totalBrush;

                    if (column1.Span)
                    {
                        column1.SpanEndColumn = column;
                    }
                }
            }
            else
            {
                float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo };
                for (int i = 0; i < sprave.Length; i++)
                {
                    column = addSpravaColumn(column.getItemsIndexEnd(), 4, x[i], spravaWidth, fmtTot,
                                             spravaFormat, "", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                }
            }

            column = addTotalColumn(column.getItemsIndexEnd(), 5, xTotal, totalWidth, fmtTot, totalFormat,
                                    totalTitle, totalHeaderFormat);
            column.Brush = totalAllBrush;
        }
예제 #29
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float imeWidth    = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float klubWidth   = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float spravaWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float totalWidth  = spravaWidth;
            float kvalWidth   = spravaWidth / 3;

            float xIme     = contentBounds.X;
            float xKlub    = xIme + imeWidth;
            float xParter  = xKlub + klubWidth;
            float xKonj    = xParter + spravaWidth;
            float xKarike  = xKonj + spravaWidth;
            float xPreskok = xKarike + spravaWidth;
            float xRazboj  = xPreskok + spravaWidth;
            float xVratilo = xRazboj + spravaWidth;
            float xTotal   = xVratilo + spravaWidth;

            if (gimnastika == Gimnastika.ZSG)
            {
                xTotal = xRazboj;
            }

            float xKval = xTotal + totalWidth;

            float xRightEnd = xKval;

            if (kvalColumn)
            {
                xRightEnd += kvalWidth;
            }

            delta = (contentBounds.Right - xRightEnd) / 2;  // moza da bude i negativno
            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xIme      += delta;
            xKlub     += delta;
            xParter   += delta;
            xKonj     += delta;
            xKarike   += delta;
            xPreskok  += delta;
            xRazboj   += delta;
            xVratilo  += delta;
            xTotal    += delta;
            xKval     += delta;
            xRightEnd += delta;

            StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap);

            imeFormat.LineAlignment = StringAlignment.Near;
            imeFormat.LineAlignment = StringAlignment.Center;

            StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap);

            klubFormat.LineAlignment = StringAlignment.Center;
            klubFormat.LineAlignment = StringAlignment.Center;

            StringFormat spravaFormat = Izvestaj.centerCenterFormat;
            StringFormat totalFormat  = Izvestaj.centerCenterFormat;
            StringFormat kvalFormat   = Izvestaj.centerCenterFormat;

            StringFormat imeHeaderFormat    = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat  = Izvestaj.centerCenterFormat;

            String imeTitle  = Opcije.Instance.ImeString;
            String klubTitle = Opcije.Instance.KlubDrzavaString;

            totalTitle = Opcije.Instance.TotalString;
            String kvalTitle = String.Empty;

            Columns.Clear();

            addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);

            float[] x      = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo };
            string  fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal;

            Sprava[]     sprave = Sprave.getSprave(gimnastika);
            ReportColumn column;

            for (int i = 0; i < sprave.Length; i++)
            {
                column        = addColumn(x[i], spravaWidth, fmtTot, spravaFormat, "", spravaHeaderFormat);
                column.Image  = SlikeSprava.getImage(sprave[i]);
                column.Sprava = sprave[i];
            }

            column = addColumn(xTotal, totalWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat);

            if (kvalColumn)
            {
                column = addColumn(xKval, kvalWidth, kvalFormat, kvalTitle);
                column.DrawHeaderRect = false;
                column.DrawItemRect   = false;
            }
        }