public RasporedSudijaEditorForm(int rasporedId, Sprava sprava, int takmicenjeId) { InitializeComponent(); this.takmicenjeId = takmicenjeId; spravaGridUserControl1.init(sprava); try { DataAccessProviderFactory factory = new DataAccessProviderFactory(); dataContext = factory.GetDataContext(); dataContext.BeginTransaction(); // TODO: Trebalo bi i NHibernateUtil.Initialize smestiti u // IDataContext klasu raspored = loadRaspored(rasporedId); sudijskiOdbor = raspored.getOdbor(sprava); initUI(); spravaGridUserControl1.setItems(sudijskiOdbor.Raspored); // dataContext.Commit(); } catch (Exception ex) { if (dataContext != null && dataContext.IsInTransaction) dataContext.Rollback(); throw new InfrastructureException( Strings.getFullDatabaseAccessExceptionMessage(ex), ex); } finally { if (dataContext != null) dataContext.Dispose(); dataContext = null; } }
private void setRaspored(RasporedSudija raspored) { SpravaGridGroupUserControl c = getActiveSpravaGridGroupUserControl(); foreach (SudijskiOdborNaSpravi odbor in raspored.Odbori) { c[odbor.Sprava].setItems(odbor.Raspored); } }
private void initTab(TabPage tabPage, RasporedSudija raspored) { // TODO: Kod u ovom metodu je prekopiran iz Designer.cs fajla (plus ono // sto sam dodao u createTab metodu). Proveri da li je u Designer.cs fajlu // nesto menjano, i ako jeste promeni ovde. SpravaGridGroupUserControl spravaGridGroupUserControl = new SpravaGridGroupUserControl(); spravaGridGroupUserControl.Location = USER_CONTROL_LOCATION; spravaGridGroupUserControl.SpravaGridRightClick += new EventHandler<SpravaGridRightClickEventArgs>(spravaGridGroupUserControl1_SpravaGridRightClick); //spravaGridGroupUserControl.Size = this.rasporedSudijaUserControl1.Size; spravaGridGroupUserControl.init(raspored.Pol); // 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 = getTabText(raspored); //tabPage.UseVisualStyleBackColor = this.tabPage1.UseVisualStyleBackColor; tabPage.ResumeLayout(false); }
private string getTabText(RasporedSudija rasporedSudija) { // TODO: Obradi slucaj kada raspored vazi za vise kategorija List<TakmicarskaKategorija> kategorije = new List<TakmicarskaKategorija>(rasporedSudija.Kategorije); PropertyDescriptor propDesc = TypeDescriptor.GetProperties(typeof(TakmicarskaKategorija))["RedBroj"]; kategorije.Sort(new SortComparer<TakmicarskaKategorija>( propDesc, ListSortDirection.Ascending)); if (kategorije.Count == 0) return String.Empty; else return kategorije[0].ToString(); }
private string getFirstKategorijaText(RasporedSudija rasporedSudija) { List<TakmicarskaKategorija> kategorije = new List<TakmicarskaKategorija>(rasporedSudija.Kategorije); if (kategorije.Count == 0) return String.Empty; PropertyDescriptor propDesc = TypeDescriptor.GetProperties(typeof(TakmicarskaKategorija))["RedBroj"]; kategorije.Sort(new SortComparer<TakmicarskaKategorija>( propDesc, ListSortDirection.Ascending)); string retValue = kategorije[0].ToString(); //for (int i = 1; i < kategorije.Count; i++) // retValue = retValue + ", " + kategorije[i].ToString(); return retValue; }
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(rasporedi[0].Pol); 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 = getTabText(raspored); } else { // init other tabs TabPage newTab = new TabPage(); tabControl1.Controls.Add(newTab); initTab(newTab, raspored); } }
private void btnNew_Click(object sender, EventArgs e) { IList<TakmicarskaKategorija> dodeljeneKategorije = getDodeljeneKategorije(); if (dodeljeneKategorije.Count == kategorijeCount) { MessageDialogs.showMessage( "Vec su odredjeni rasporedi sudija za sve kategorije.", this.Text); return; } string msg = "Izaberite kategorije za koje vazi raspored sudija"; DialogResult dlgResult = DialogResult.None; SelectKategorijaForm form = null; try { form = new SelectKategorijaForm(takmicenje.Id, dodeljeneKategorije, false, msg); dlgResult = form.ShowDialog(); } catch (InfrastructureException ex) { MessageDialogs.showError(ex.Message, this.Text); return; } if (dlgResult != DialogResult.OK || form.SelektovaneKategorije.Count == 0) return; RasporedSudija newRaspored = null; bool added = false; try { DataAccessProviderFactory factory = new DataAccessProviderFactory(); dataContext = factory.GetDataContext(); dataContext.BeginTransaction(); newRaspored = new RasporedSudija(form.SelektovaneKategorije, deoTakKod, takmicenje); dataContext.Add(newRaspored); dataContext.Commit(); added = true; } catch (Exception ex) { if (dataContext != null && dataContext.IsInTransaction) dataContext.Rollback(); MessageDialogs.showMessage( Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text); } finally { if (dataContext != null) dataContext.Dispose(); dataContext = null; } 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(); }
private void insertRasporedSudija() { Takmicenje takmicenje = loadTakmicenje("Milano"); TakmicarskaKategorija seniori = loadKategorija(takmicenje); Query q = new Query(); q.Criteria.Add(new Criterion("Takmicenje", CriteriaOperator.Equal, takmicenje)); IList<SudijaUcesnik> sudije_ucesnici = dataContext.GetByCriteria<SudijaUcesnik>(q); 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], takmicenje); SudijeParser parser = new SudijeParser(); parser.parse(fileNames[i]); Sprava prevSprava = Sprava.Undefined; int brojMeracaVremena = 0; int brojLinijskihSudija = 0; SudijskiOdborNaSpravi odbor = null; foreach (object[] o in parser.SudijskeUloge) { SudijskaUloga uloga = (SudijskaUloga)o[4]; bool clanGlavSudOdbora = 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, (byte)brojMeracaVremena, (byte)brojLinijskihSudija); } prevSprava = sprava; brojMeracaVremena = 0; brojLinijskihSudija = 0; } 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, (byte)brojMeracaVremena, (byte)brojLinijskihSudija); /*dataContext.Evict(takmicenje); foreach (SudijaUcesnik s in sudije_ucesnici) dataContext.Evict(s); dataContext.Evict(seniori); */ dataContext.Add(raspored); } }