private bool kvalColumnVisible() { if (takmicenje.FinaleKupa) { // Za finale kupa se kvalifikanti prikazuju u RezultatiSpravaFinaleKupa return(false); } else { return(deoTakKod == DeoTakmicenjaKod.Takmicenje1 && ActiveTakmicenje.odvojenoTak3()); } }
private void setItems() { if (ActiveSprava != Sprava.Preskok) { spravaGridUserControl1.DataGridViewUserControl .setItems <RezultatSprava>(ActiveTakmicenje.getPoredakSprava(deoTakKod, ActiveSprava).getRezultati()); } else { spravaGridUserControl1.DataGridViewUserControl .setItems <RezultatPreskok>(ActiveTakmicenje.getPoredakPreskok(deoTakKod).getRezultati()); } spravaGridUserControl1.DataGridViewUserControl.clearSelection(); }
private void btnIzracunaj_Click(object sender, EventArgs e) { string msg; if (kvalColumnVisible()) { msg = "Da li zelite da izracunate poredak, kvalifikante i rezerve?"; } else { msg = "Da li zelite da izracunate poredak?"; } if (!MessageDialogs.queryConfirmation(msg, this.Text)) { return; } Cursor.Current = Cursors.WaitCursor; Cursor.Show(); ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); OcenaDAO ocenaDAO = DAOFactoryFactory.DAOFactory.GetOcenaDAO(); IList <Ocena> ocene = ocenaDAO.FindByDeoTakmicenja(takmicenje.Id, deoTakKod); if (ActiveSprava != Sprava.Preskok) { PoredakSprava p = ActiveTakmicenje.getPoredakSprava(deoTakKod, ActiveSprava); p.create(ActiveTakmicenje, ocene); DAOFactoryFactory.DAOFactory.GetPoredakSpravaDAO().Update(p); } else { PoredakPreskok p = ActiveTakmicenje.getPoredakPreskok(deoTakKod); p.create(ActiveTakmicenje, ocene); DAOFactoryFactory.DAOFactory.GetPoredakPreskokDAO().Update(p); } foreach (Ocena o in ocene) { ocenaDAO.Evict(o); } takmicenje = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenje.Id); takmicenje.LastModified = DateTime.Now; session.Transaction.Commit(); } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } MessageDialogs.showError(ex.Message, this.Text); return; } finally { Cursor.Hide(); Cursor.Current = Cursors.Arrow; CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } setItems(); }
private void promeniPoredakPreskok() { RazresiIsteOceneForm form = new RazresiIsteOceneForm(istiRezultati, takmicenje, Sprava.Preskok, ActiveTakmicenje.Propozicije.racunajObaPreskoka(deoTakKod)); if (form.ShowDialog() != DialogResult.OK) { return; } for (int i = 0; i < istiRezultati.Count; ++i) { istiRezultati[i].Rank = (short)form.Poredak[i]; } PropertyDescriptor[] propDesc = new PropertyDescriptor[] { TypeDescriptor.GetProperties(typeof(RezultatPreskok))["Rank"], TypeDescriptor.GetProperties(typeof(RezultatPreskok))["PrezimeIme"] }; ListSortDirection[] sortDir = new ListSortDirection[] { ListSortDirection.Ascending, ListSortDirection.Ascending }; short redBroj = istiRezultati[0].RedBroj; istiRezultati.Sort(new SortComparer <RezultatSprava>(propDesc, sortDir)); foreach (RezultatPreskok r in istiRezultati) { r.RedBroj = redBroj++; } ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); DAOFactoryFactory.DAOFactory.GetPoredakPreskokDAO() .Update(ActiveTakmicenje.getPoredakPreskok(deoTakKod)); 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 { CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } spravaGridUserControl1.DataGridViewUserControl .sort <RezultatPreskok>("RedBroj", ListSortDirection.Ascending); //spravaGridUserControl1.DataGridViewUserControl.refreshItems(); spravaGridUserControl1.DataGridViewUserControl.setSelectedItem <RezultatPreskok>( istiRezultati[0] as RezultatPreskok); }
private void promeniKvalStatus(KvalifikacioniStatus kvalStatus) { int selCount = 0; RezultatSprava rez; if (ActiveSprava != Sprava.Preskok) { selCount = spravaGridUserControl1.DataGridViewUserControl.getSelectedItems <RezultatSprava>().Count; rez = spravaGridUserControl1.DataGridViewUserControl .getSelectedItem <RezultatSprava>(); } else { selCount = spravaGridUserControl1.DataGridViewUserControl.getSelectedItems <RezultatPreskok>().Count; rez = spravaGridUserControl1.DataGridViewUserControl .getSelectedItem <RezultatPreskok>(); } if (selCount != 1 || rez.KvalStatus == kvalStatus) { return; } string msg = String.Empty; if (kvalStatus != KvalifikacioniStatus.None) { string msgFmt = "Da li zelite da oznacite sa \"{1}\" gimnasticara \"{0}\"?"; msg = String.Format(msgFmt, rez.Gimnasticar, kvalStatus); } else { string msgFmt = "Da li zelite da ponistite oznaku \"{1}\" za gimnasticara \"{0}\"?"; msg = String.Format(msgFmt, rez.Gimnasticar, rez.KvalStatus); } if (!MessageDialogs.queryConfirmation(msg, this.Text)) { return; } ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); rez.KvalStatus = kvalStatus; if (ActiveSprava != Sprava.Preskok) { DAOFactoryFactory.DAOFactory.GetPoredakSpravaDAO() .Update(ActiveTakmicenje.getPoredakSprava(deoTakKod, ActiveSprava)); } else { DAOFactoryFactory.DAOFactory.GetPoredakPreskokDAO() .Update(ActiveTakmicenje.getPoredakPreskok(deoTakKod)); } 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 { CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } spravaGridUserControl1.DataGridViewUserControl.refreshItems(); if (ActiveSprava != Sprava.Preskok) { spravaGridUserControl1.DataGridViewUserControl.setSelectedItem <RezultatSprava>(rez); } else { spravaGridUserControl1.DataGridViewUserControl.setSelectedItem <RezultatPreskok>(rez as RezultatPreskok); } }
private void findIstiRezultati() { istiRezultati.Clear(); RezultatSprava rez; if (ActiveSprava != Sprava.Preskok) { rez = spravaGridUserControl1.DataGridViewUserControl .getSelectedItem <RezultatSprava>(); } else { rez = spravaGridUserControl1.DataGridViewUserControl .getSelectedItem <RezultatPreskok>(); } if (rez == null) { return; } if (ActiveSprava != Sprava.Preskok) { if (rez.Total == null) { return; } foreach (RezultatSprava r in ActiveTakmicenje.getPoredakSprava(deoTakKod, ActiveSprava).getRezultati()) { if (r.Total == rez.Total) { istiRezultati.Add(r); } else if (istiRezultati.Count == 0) { continue; } else { if (istiRezultati.Count == 1) { istiRezultati.Clear(); } else { istiRezultati.Add(r); // dodaj i prvog sledeceg sa razlicitom ocenom } break; } } } else { RezultatPreskok rp = (RezultatPreskok)rez; bool obaPreskoka = ActiveTakmicenje.Propozicije.racunajObaPreskoka(deoTakKod); if (obaPreskoka && (rp.TotalObeOcene == null) || !obaPreskoka && (rp.Total == null)) { return; } foreach (RezultatPreskok r in ActiveTakmicenje.getPoredakPreskok(deoTakKod).getRezultati()) { if (obaPreskoka && (r.TotalObeOcene == rp.TotalObeOcene) || !obaPreskoka && (r.Total == rp.Total)) { istiRezultati.Add(r); } else if (istiRezultati.Count == 0) { continue; } else { if (istiRezultati.Count == 1) { istiRezultati.Clear(); } else { istiRezultati.Add(r); // dodaj i prvog sledeceg sa razlicitom ocenom } break; } } } }
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; } }
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 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 bool kvalColumnVisible() { return(ActiveTakmicenje.odvojenoTak3()); }