public VrhovniSudijaForm(int takmicenjeId) { InitializeComponent(); this.takmicenjeId = takmicenjeId; Cursor.Current = Cursors.WaitCursor; Cursor.Show(); ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); Takmicenje takmicenje = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenjeId); NHibernateUtil.Initialize(takmicenje); sudije = new List <SudijaUcesnik>( DAOFactoryFactory.DAOFactory.GetSudijaUcesnikDAO().FindByTakmicenjeFetchKlubDrzava(takmicenjeId)); PropertyDescriptor[] propDesc = new PropertyDescriptor[] { TypeDescriptor.GetProperties(typeof(SudijaUcesnik))["Prezime"], TypeDescriptor.GetProperties(typeof(SudijaUcesnik))["Ime"] }; ListSortDirection[] sortDir = new ListSortDirection[] { ListSortDirection.Ascending, ListSortDirection.Ascending }; sudije.Sort(new SortComparer <SudijaUcesnik>(propDesc, sortDir)); SudijaUcesnik emptySudija = new SudijaUcesnik(); emptySudija.Prezime = PRAZNO; emptySudija.Ime = ""; sudije.Insert(0, emptySudija); cmbVrhovniSudija.DropDownStyle = ComboBoxStyle.DropDown; cmbVrhovniSudija.DataSource = sudije; cmbVrhovniSudija.DisplayMember = "PrezimeIme"; cmbVrhovniSudija.AutoCompleteMode = AutoCompleteMode.Suggest; cmbVrhovniSudija.AutoCompleteSource = AutoCompleteSource.ListItems; SelectedVrhovniSudija = takmicenje.VrhovniSudija; } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } throw new InfrastructureException(ex.Message, ex); } finally { CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); Cursor.Hide(); Cursor.Current = Cursors.Arrow; } }
private List <object[]> getTakmicariReportItems(IList <SudijaUcesnik> gimnasticari) { List <object[]> result = new List <object[]>(); for (int i = 0; i < gimnasticari.Count; ++i) { SudijaUcesnik g = gimnasticari[i]; string klub = (g.KlubUcesnik != null) ? g.KlubUcesnik.Naziv : String.Empty; string drzava = (g.DrzavaUcesnik != null) ? g.DrzavaUcesnik.Kod : string.Empty; string pol = (g.Pol == Pol.Muski) ? "M" : "Z"; result.Add(new object[] { (i + 1).ToString(), g.Ime, g.Prezime, pol, klub, drzava }); } return(result); }
private void loadFromDump(string dump) { IdMap map = new IdMap(); // clear takmicenje = new Takmicenje(); klubovi = new List <KlubUcesnik>(); drzave = new List <DrzavaUcesnik>(); gimnasticari = new List <GimnasticarUcesnik>(); ocene = new List <Ocena>(); rasporediNastupa = new List <RasporedNastupa>(); sudije = new List <SudijaUcesnik>(); rasporediSudija = new List <RasporedSudija>(); rezTakmicenja = new List <RezultatskoTakmicenje>(); using (StringReader reader = new StringReader(dump)) { if (reader.ReadLine() != BILTEN_TAKMICENJE_DUMP) { throw new Exception("Neuspesno ucitavanje takmicenja."); } if (int.Parse(reader.ReadLine()) != Program.VERZIJA_PROGRAMA) { throw new Exception("Neuspesno uvozenje takmicenja.\n\nTakmicenje je izvezeno koristeci verziju " + "programa razlicitu od trenutne, i nije ga moguce uvesti."); } int prvoKoloId, drugoKoloId, treceKoloId, cetvrtoKoloId; int vrhovniSudijaId; // load takmicenje string id = reader.ReadLine(); map.takmicenjeMap.Add(int.Parse(id), takmicenje); takmicenje.loadFromDump(reader, map, out prvoKoloId, out drugoKoloId, out treceKoloId, out cetvrtoKoloId, out vrhovniSudijaId); // TODO4: Ovde moze da se desi da ID koji je postojao u biltenu iz koga se takmicenje izvozilo ne postoji // u biltenu u koji se takmicenje uvozi. takmicenje.PrvoKolo = prvoKoloId == -1 ? null : DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(prvoKoloId); takmicenje.DrugoKolo = drugoKoloId == -1 ? null : DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(drugoKoloId); takmicenje.TreceKolo = treceKoloId == -1 ? null : DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(treceKoloId); takmicenje.CetvrtoKolo = cetvrtoKoloId == -1 ? null : DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(cetvrtoKoloId); // Vrhovnog sudiju ucitavam dole (nakon sto ucitam sve sudije ucesnike). // load klubovi int count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); KlubUcesnik k = new KlubUcesnik(); map.kluboviMap.Add(int.Parse(id), k); k.loadFromDump(reader, map); klubovi.Add(k); } // load drzave count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); DrzavaUcesnik d = new DrzavaUcesnik(); map.drzaveMap.Add(int.Parse(id), d); d.loadFromDump(reader, map); drzave.Add(d); } // load gimnasticari count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); GimnasticarUcesnik g = new GimnasticarUcesnik(); map.gimnasticariMap.Add(int.Parse(id), g); g.loadFromDump(reader, map); gimnasticari.Add(g); } // load ocene count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); Ocena o = new Ocena(); o.loadFromDump(reader, map); ocene.Add(o); } // load rasporedi nastupa count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); RasporedNastupa r = new RasporedNastupa(); r.loadFromDump(reader, map); rasporediNastupa.Add(r); } // load sudije count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); SudijaUcesnik s = new SudijaUcesnik(); map.sudijeMap.Add(int.Parse(id), s); s.loadFromDump(reader, map); sudije.Add(s); } takmicenje.VrhovniSudija = vrhovniSudijaId == -1 ? null : map.sudijeMap[vrhovniSudijaId]; // load rasporedi sudija count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); RasporedSudija r = new RasporedSudija(); r.loadFromDump(reader, map); rasporediSudija.Add(r); } // load rezultatska takmicenja count = int.Parse(reader.ReadLine()); for (int i = 0; i < count; ++i) { id = reader.ReadLine(); RezultatskoTakmicenje rt = new RezultatskoTakmicenje(); rt.loadFromDump(reader, map); rezTakmicenja.Add(rt); } } }
private void insertRasporedSudija(Takmicenje takmicenje) { TakmicarskaKategorija seniori = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO() .FindByTakmicenje(takmicenje.Id)[0]; IList <SudijaUcesnik> sudije_ucesnici = DAOFactoryFactory.DAOFactory.GetSudijaUcesnikDAO().FindByTakmicenje(takmicenje.Id); DeoTakmicenjaKod[] deoTakmicenja = { DeoTakmicenjaKod.Takmicenje1, DeoTakmicenjaKod.Takmicenje2 }; string[] fileNames; if (gimnastika == Gimnastika.MSG) { fileNames = new string[] { @"..\..\test\Data\RasporedSudijaMuskarciKvalifikacije.txt", @"..\..\test\Data\RasporedSudijaMuskarciViseboj.txt" } } ; else { fileNames = new string[] { @"..\..\test\Data\RasporedSudijaZeneKvalifikacije.txt", @"..\..\test\Data\RasporedSudijaZeneViseboj.txt" } }; for (int i = 0; i < deoTakmicenja.Length; i++) { List <TakmicarskaKategorija> list = new List <TakmicarskaKategorija>(); list.Add(seniori); RasporedSudija raspored = new RasporedSudija(list, deoTakmicenja[i], gimnastika); SudijeParser parser = new SudijeParser(); parser.parse(fileNames[i]); Sprava prevSprava = Sprava.Undefined; SudijskiOdborNaSpravi odbor = null; foreach (object[] o in parser.SudijskeUloge) { SudijskaUloga uloga = (SudijskaUloga)o[4]; bool clanGlavSudOdbora = false /*uloga >= SudijskaUloga.PredsednikGlavnogSudijskogOdbora * && uloga <= SudijskaUloga.GredaKontrolor*/; if (clanGlavSudOdbora) { continue; } string ime = (string)o[0]; string prezime = (string)o[1]; SudijaUcesnik sudija = findSudijaUcesnik(ime, prezime, sudije_ucesnici); if (sudija == null) { throw new Exception("Greska prilikom dodavanja rasporeda sudija."); } Sprava sprava = (Sprava)o[3]; if (sprava == prevSprava) { /*if (SudijskeUloge.isMeracVremena(uloga)) * brojMeracaVremena++; * else if (SudijskeUloge.isLinijskiSudija(uloga)) * brojLinijskihSudija++;*/ } else { if (prevSprava != Sprava.Undefined) { // podesi broj meraca vremena i linijskih sudija za prethodni // odbor odbor = raspored.getOdbor(prevSprava); odbor.setSupportedUloge(odbor.BrojDSudija, odbor.HasD1_E1, odbor.HasD2_E2, odbor.BrojESudija); } prevSprava = sprava; } raspored.getOdbor(sprava).addSudija(sudija, uloga); } // podesi broj meraca vremena i linijskih sudija za poslednji odbor odbor = raspored.getOdbor(prevSprava); odbor.setSupportedUloge(odbor.BrojDSudija, odbor.HasD1_E1, odbor.HasD2_E2, odbor.BrojESudija); /*dataContext.Evict(takmicenje); * foreach (SudijaUcesnik s in sudije_ucesnici) * dataContext.Evict(s); * dataContext.Evict(seniori); */ DAOFactoryFactory.DAOFactory.GetRasporedSudijaDAO().Add(raspored); } }
private void insertSudijeUcesnici(Takmicenje takmicenje) { IList <DrzavaUcesnik> drzave = DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO().FindByTakmicenje(takmicenje.Id); ISet <SudijaUcesnik> sudije = new HashSet <SudijaUcesnik>(); string[] fileNames; if (gimnastika == Gimnastika.MSG) { fileNames = new string[] { @"..\..\test\Data\RasporedSudijaMuskarciKvalifikacije.txt", @"..\..\test\Data\RasporedSudijaMuskarciViseboj.txt", } } ; else { fileNames = new string[] { @"..\..\test\Data\RasporedSudijaZeneKvalifikacije.txt", @"..\..\test\Data\RasporedSudijaZeneViseboj.txt" } }; for (int i = 0; i < fileNames.Length; i++) { SudijeParser parser = new SudijeParser(); parser.parse(fileNames[i]); Pol pol = Pol.Muski; if (gimnastika == Gimnastika.ZSG) { pol = Pol.Zenski; } foreach (object[] o in parser.SudijskeUloge) { string ime = (string)o[0]; string prezime = (string)o[1]; string kod = (string)o[2]; SudijskaUloga uloga = (SudijskaUloga)o[4]; /*bool clanGlavSudOdbora = * uloga >= SudijskaUloga.PredsednikGlavnogSudijskogOdbora * && uloga <= SudijskaUloga.GredaKontrolor;*/ SudijaUcesnik sudija = new SudijaUcesnik(); sudija.Ime = ime; sudija.Prezime = prezime; sudija.Pol = pol; /*if (clanGlavSudOdbora) * sudija.UlogaUGlavnomSudijskomOdboru = uloga; * else * sudija.UlogaUGlavnomSudijskomOdboru = SudijskaUloga.Undefined;*/ sudija.DrzavaUcesnik = findDrzavaUcesnik(kod, drzave); if (sudija.DrzavaUcesnik == null) { throw new Exception("Greska prilikom dodavanja sudija ucesnika."); } sudija.Takmicenje = takmicenje; if (sudije.Add(sudija)) { DAOFactoryFactory.DAOFactory.GetSudijaUcesnikDAO().Add(sudija); } } } /*foreach (DrzavaUcesnik d in drzave) * dataContext.Evict(d);*/ }
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); } }