コード例 #1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (!validate())
            {
                DialogResult = DialogResult.None;
                return;
            }

            byte brojDSudija = 0;

            if (isChecked(SudijskaUloga.D1) || isChecked(SudijskaUloga.D1_E1))
            {
                brojDSudija += 1;
            }
            if (isChecked(SudijskaUloga.D2) || isChecked(SudijskaUloga.D2_E2))
            {
                brojDSudija += 1;
            }

            byte brojESudija = 0;

            if (isChecked(SudijskaUloga.E1) || isChecked(SudijskaUloga.D1_E1))
            {
                brojESudija += 1;
            }
            if (isChecked(SudijskaUloga.E2) || isChecked(SudijskaUloga.D2_E2))
            {
                brojESudija += 1;
            }
            if (isChecked(SudijskaUloga.E3))
            {
                brojESudija += 1;
            }
            if (isChecked(SudijskaUloga.E4))
            {
                brojESudija += 1;
            }
            if (isChecked(SudijskaUloga.E5))
            {
                brojESudija += 1;
            }
            if (isChecked(SudijskaUloga.E6))
            {
                brojESudija += 1;
            }

            odbor.setSupportedUloge(brojDSudija, isChecked(SudijskaUloga.D1_E1), isChecked(SudijskaUloga.D2_E2), brojESudija);
        }
コード例 #2
0
        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);
            }
        }