private void insertStartListe(Takmicenje takmicenje) { TakmicarskaKategorija seniori = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO() .FindByTakmicenje(takmicenje.Id)[0]; IList <GimnasticarUcesnik> gim_uces = DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO() .FindByTakmicenje(takmicenje.Id); Dictionary <int, GimnasticarUcesnik> gim_ucesnici = new Dictionary <int, GimnasticarUcesnik>(); //foreach (GimnasticarUcesnik g in gim_uces) // gim_ucesnici.Add(g.TakmicarskiBroj.Value, g); DeoTakmicenjaKod[] deoTakmicenja = { DeoTakmicenjaKod.Takmicenje1, DeoTakmicenjaKod.Takmicenje2, DeoTakmicenjaKod.Takmicenje3 }; string[] fileNames; if (gimnastika == Gimnastika.MSG) { fileNames = new string[] { @"..\..\test\Data\StartListaKvalifikacijeMuskarci.txt", @"..\..\test\Data\StartListaVisebojMuskarci.txt", @"..\..\test\Data\StartListaSpraveMuskarci.txt" } } ; else { fileNames = new string[] { @"..\..\test\Data\StartListaKvalifikacijeZene.txt", @"..\..\test\Data\StartListaVisebojZene.txt", @"..\..\test\Data\StartListaSpraveZene.txt" } }; for (int i = 0; i < deoTakmicenja.Length; i++) { List <TakmicarskaKategorija> list = new List <TakmicarskaKategorija>(); list.Add(seniori); RasporedNastupa raspored = new RasporedNastupa(list, deoTakmicenja[i], gimnastika, 0); StartListaParser parser = new StartListaParser(); parser.parse(fileNames[i]); foreach (object[] o in parser.NastupiNaSpravi) { Sprava sprava = Sprave.parse((string)o[0]); int grupa = (int)o[1]; int rot = (int)o[2]; int broj = (int)o[3]; bool nastupaDvaPuta = (bool)o[4]; GimnasticarUcesnik gimnasticar = gim_ucesnici[broj]; if (gimnasticar == null) { throw new Exception("Greska prilikom dodavanja rasporeda nastupa."); } NastupNaSpravi nastup = new NastupNaSpravi(gimnasticar, 0); while (raspored.getStartLista(sprava, grupa, rot) == null) { raspored.addNewGrupa(gimnastika); } raspored.getStartLista(sprava, grupa, rot).addNastup(nastup); } /* dataContext.Evict(takmicenje); * foreach (GimnasticarUcesnik g in gim_uces) * dataContext.Evict(g); * dataContext.Evict(seniori); */ DAOFactoryFactory.DAOFactory.GetRasporedNastupaDAO().Add(raspored); } }
private void insertStartListe() { Takmicenje takmicenje = loadTakmicenje("Milano"); TakmicarskaKategorija seniori = loadKategorija(takmicenje); Query q = new Query(); q.Criteria.Add(new Criterion("Takmicenje", CriteriaOperator.Equal, takmicenje)); IList<GimnasticarUcesnik> gim_uces = dataContext.GetByCriteria<GimnasticarUcesnik>(q); Dictionary<int, GimnasticarUcesnik> gim_ucesnici = new Dictionary<int, GimnasticarUcesnik>(); foreach (GimnasticarUcesnik g in gim_uces) gim_ucesnici.Add(g.TakmicarskiBroj.Value, g); DeoTakmicenjaKod[] deoTakmicenja = { DeoTakmicenjaKod.Takmicenje1, DeoTakmicenjaKod.Takmicenje2, DeoTakmicenjaKod.Takmicenje3 }; string[] fileNames; if (gimnastika == Gimnastika.MSG) fileNames = new string[] { @"..\..\test\Data\StartListaKvalifikacijeMuskarci.txt", @"..\..\test\Data\StartListaVisebojMuskarci.txt", @"..\..\test\Data\StartListaSpraveMuskarci.txt" }; else fileNames = new string[] { @"..\..\test\Data\StartListaKvalifikacijeZene.txt", @"..\..\test\Data\StartListaVisebojZene.txt", @"..\..\test\Data\StartListaSpraveZene.txt" }; for (int i = 0; i < deoTakmicenja.Length; i++) { List<TakmicarskaKategorija> list = new List<TakmicarskaKategorija>(); list.Add(seniori); RasporedNastupa raspored = new RasporedNastupa(list, deoTakmicenja[i]); StartListaParser parser = new StartListaParser(); parser.parse(fileNames[i]); foreach (object[] o in parser.NastupiNaSpravi) { Sprava sprava = Sprave.parse((string)o[0]); int grupa = (int)o[1]; int rot = (int)o[2]; int broj = (int)o[3]; bool nastupaDvaPuta = (bool)o[4]; GimnasticarUcesnik gimnasticar = gim_ucesnici[broj]; if (gimnasticar == null) throw new Exception("Greska prilikom dodavanja rasporeda nastupa."); NastupNaSpravi nastup = new NastupNaSpravi(gimnasticar, 0); while (raspored.getStartLista(sprava, grupa, rot) == null) raspored.addNewGrupa(); raspored.getStartLista(sprava, grupa, rot).addNastup(nastup); } /* dataContext.Evict(takmicenje); foreach (GimnasticarUcesnik g in gim_uces) dataContext.Evict(g); dataContext.Evict(seniori); */ dataContext.Add(raspored); } }