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 + "}"); }
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); }
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); } }
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); } }
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); } } }
private void fillItemsMap() { foreach (Sprava s in Sprave.getSprave()) { foreach (GrupaElementa g in GrupeElementa.getGrupe()) { createItems(s, g); } } }
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); } } }
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); }
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; } }
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); } }
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); }
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); } }
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); }
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); } }
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); }
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)); }
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); } }
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; } }
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; } } }
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); } } }
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; } }
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; } }
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; } } }
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; } }
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(); }
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; } }
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); } }
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; }
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; } }