void btnUveziIzBiltena_Click(object sender, EventArgs e) { if (Opcije.Instance.BiltenConnectionString == null) { MessageDialogs.showMessage("Pronadjite folder za bilten i selektujte fajl 'BiltenPodaci.sdf'.", "Registracija"); OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() != DialogResult.OK) { return; } Opcije.Instance.BiltenConnectionString = String.Format(@"Data Source={0}", ofd.FileName); } SelectGimnasticarBiltenForm form = new SelectGimnasticarBiltenForm(); if (form.ShowDialog() != DialogResult.OK) { return; } IList <Gimnasticar> noviGimnasticari = new List <Gimnasticar>(); Cursor.Current = Cursors.WaitCursor; Cursor.Show(); bool ok = false; ISession session = null; try { using (session = NHibernateHelper.Instance.OpenSession()) using (session.BeginTransaction()) { CurrentSessionContext.Bind(session); GimnasticarDAO gimDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO(); KlubDAO klubDAO = DAOFactoryFactory.DAOFactory.GetKlubDAO(); KategorijaGimnasticaraDAO katDAO = DAOFactoryFactory.DAOFactory.GetKategorijaGimnasticaraDAO(); IDictionary <Klub, Klub> klubovi = new Dictionary <Klub, Klub>(); foreach (Klub k in klubDAO.FindAll()) { klubovi.Add(k, k); } IDictionary <KategorijaGimnasticara, KategorijaGimnasticara> kategorije = new Dictionary <KategorijaGimnasticara, KategorijaGimnasticara>(); foreach (KategorijaGimnasticara kat in katDAO.FindAll()) { kategorije.Add(kat, kat); } foreach (GimnasticarBilten g in form.SelektovaniGimnasticari) { if (!gimDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme, g.DatumRodjenja)) { Gimnasticar gim = createGimnasticar(g, klubDAO, katDAO, klubovi, kategorije); noviGimnasticari.Add(gim); gimDAO.Add(gim); } } session.Transaction.Commit(); ok = true; } } catch (Exception ex) { if (session != null && session.Transaction != null && session.Transaction.IsActive) { session.Transaction.Rollback(); } throw new InfrastructureException(ex.Message, ex); } finally { Cursor.Hide(); Cursor.Current = Cursors.Arrow; CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory); } if (ok) { List <Gimnasticar> items = dataGridViewUserControl1.getItems <Gimnasticar>(); foreach (Gimnasticar g in noviGimnasticari) { items.Add(g); } dataGridViewUserControl1.setItems <Gimnasticar>(items); dataGridViewUserControl1.clearSelection(); updateEntityCount(); } }
private void insertRegistrovaniGimnasticari() { RegistrovaniGimnasticariParser parser = new RegistrovaniGimnasticariParser(); string fileName = @"..\..\test\Data\RegistracijaTakmicara2009.txt"; parser.parse(fileName); GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO(); IList <Gimnasticar> gimnasticari = gimnasticarDAO.FindAll(); IList <Klub> klubovi = DAOFactoryFactory.DAOFactory.GetKlubDAO().FindAll(); Drzava srbija = DAOFactoryFactory.DAOFactory.GetDrzavaDAO().FindByKod("SRB"); foreach (object[] o in parser.Gimnasticari) { char pol = (char)o[0]; string ime = (string)o[1]; string prezime = (string)o[2]; string datumRodj = (string)o[3]; string klubMesto = (string)o[4]; string regBroj = (string)o[5]; string datumReg = (string)o[6]; Gimnasticar gimnasticar = findGimnasticar(ime, prezime, gimnasticari); if (gimnasticar != null) { if (datumRodj.Trim() == "NULL") { gimnasticar.DatumRodjenja = null; } else { gimnasticar.DatumRodjenja = Datum.Parse(datumRodj); } gimnasticar.RegistarskiBroj = regBroj; if (datumReg.Trim() == String.Empty) { gimnasticar.DatumPoslednjeRegistracije = null; } else { gimnasticar.DatumPoslednjeRegistracije = Datum.Parse(datumReg); } gimnasticar.Klub = findKlub(klubMesto, klubovi); gimnasticarDAO.Update(gimnasticar); } else { gimnasticar = new Gimnasticar(); if (pol == 'M') { gimnasticar.Gimnastika = Gimnastika.MSG; } else if (pol == 'Z') { gimnasticar.Gimnastika = Gimnastika.ZSG; } else if (pol == ' ') { gimnasticar.Gimnastika = Gimnastika.Undefined; } else { throw new FormatException("Invalid format in file " + fileName); } gimnasticar.Ime = ime.Trim(); gimnasticar.Prezime = prezime.Trim(); if (datumRodj.Trim() == "NULL") { gimnasticar.DatumRodjenja = null; } else { gimnasticar.DatumRodjenja = Datum.Parse(datumRodj); } gimnasticar.RegistarskiBroj = regBroj; if (datumReg.Trim() == String.Empty) { gimnasticar.DatumPoslednjeRegistracije = null; } else { gimnasticar.DatumPoslednjeRegistracije = Datum.Parse(datumReg); } gimnasticar.Klub = findKlub(klubMesto, klubovi); gimnasticar.Drzava = srbija; gimnasticarDAO.Add(gimnasticar); } } }