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); }
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 setRaspored(RasporedSudija raspored) { SpravaGridGroupUserControl c = getActiveSpravaGridGroupUserControl(); foreach (SudijskiOdborNaSpravi odbor in raspored.Odbori) { c[odbor.Sprava].setItems(odbor.Raspored); } }
public RasporedSudijaEditorForm(int rasporedId, Sprava sprava, int takmicenjeId) { InitializeComponent(); this.takmicenjeId = takmicenjeId; spravaGridUserControl1.init(sprava); ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); // TODO: Trebalo bi i NHibernateUtil.Initialize smestiti u // DAO klasu raspored = DAOFactoryFactory.DAOFactory.GetRasporedSudijaDAO().FindByIdFetch(rasporedId); sudijskiOdbor = raspored.getOdbor(sprava); initUI(); spravaGridUserControl1.setItems(sudijskiOdbor.Raspored); } } 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); } }
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 btnNew_Click(object sender, EventArgs e) { IList <TakmicarskaKategorija> kategorije; ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); kategorije = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO().FindByTakmicenje(takmicenje.Id); } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } MessageDialogs.showError(ex.Message, this.Text); return; } finally { CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } IList <string> kategorijeStr = new List <string>(); foreach (TakmicarskaKategorija k in kategorije) { kategorijeStr.Add(k.Naziv); } string msg = "Izaberite kategorije za koje vazi raspored sudija"; CheckListForm form = new CheckListForm(kategorijeStr, new List <int>(), msg, "Kategorije", true, msg, true); if (form.ShowDialog() != DialogResult.OK) { return; } IList <TakmicarskaKategorija> selKategorije = new List <TakmicarskaKategorija>(); foreach (int i in form.CheckedIndices) { selKategorije.Add(kategorije[i]); } RasporedSudija newRaspored = null; bool added = false; session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); newRaspored = new RasporedSudija(selKategorije, deoTakKod, takmicenje.Gimnastika); DAOFactoryFactory.DAOFactory.GetRasporedSudijaDAO().Add(newRaspored); takmicenje = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenje.Id); takmicenje.LastModified = DateTime.Now; session.Transaction.Commit(); added = true; } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } MessageDialogs.showMessage(ex.Message, this.Text); } finally { CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } if (!added) { Close(); return; } rasporedi.Add(newRaspored); tabOpened.Add(false); createTab(newRaspored); if (tabControl1.SelectedIndex != tabControl1.TabPages.Count - 1) { tabControl1.SelectedIndex = tabControl1.TabPages.Count - 1; } else { onSelectedIndexChanged(); } }