protected override void checkBusinessRulesOnUpdate(DomainObject entity) { GimnasticarUcesnik g = (GimnasticarUcesnik)entity; if (!hasImeSrednjeImePrezimeDatumRodjenjaChanged(g)) { return; } GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO(); if (gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(oldIme, oldPrezime, oldSrednjeIme, oldDatumRodjenja)) { if (!gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme, g.DatumRodjenja)) { // Staro ime postoji u registru, novo ime ne postoji u registru. // Menjaj staro ime u registru sa novim Gimnasticar gim = gimnasticarDAO.FindGimnasticar(oldIme, oldPrezime, oldDatumRodjenja.Dan, oldDatumRodjenja.Mesec, oldDatumRodjenja.Godina, gimnastika); if (gim != null) { gim.Ime = g.Ime; gim.Prezime = g.Prezime; gim.SrednjeIme = g.SrednjeIme; gim.DatumRodjenja = g.DatumRodjenja; gimnasticarDAO.Update(gim); } else { throw new BusinessException("Greska u programu"); } } else { // Staro ime postoji u registru, novo ime postoji u registru. // TODO4: Ne menjaj nista u registru; trazi potvrdu za nastavak throw new BusinessException("Greska u programu - neuspesna promena imena gimnasticara2"); } } else { if (!gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme, g.DatumRodjenja)) { // Staro ime ne postoji u registru, novo ime ne postoji u registru. // TODO4: Dodaj novog gimnasticara u registru sa novim imenom throw new BusinessException("Greska u programu - neuspesna promena imena gimnasticara3"); } else { // Staro ime ne postoji u registru, novo ime postoji u registru. // TODO4: Ne menjaj nista u registru; trazi potvrdu za nastavak throw new BusinessException("Greska u programu - neuspesna promena imena gimnasticara4"); } } }
protected override void checkBusinessRulesOnUpdate(DomainObject entity) { Gimnasticar g = (Gimnasticar)entity; Notification notification = new Notification(); GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO(); if (hasImeSrednjeImePrezimeDatumRodjenjaChanged(g) && gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme, g.DatumRodjenja)) { notification.RegisterMessage("Ime", "Gimnasticar sa datim imenom, prezimenom i datumom rodjenja vec postoji."); throw new BusinessException(notification); } bool regBrojChanged = (g.RegistarskiBroj != oldRegBroj) ? true : false; if (regBrojChanged && !String.IsNullOrEmpty(g.RegistarskiBroj) && gimnasticarDAO.existsGimnasticarRegBroj(g.RegistarskiBroj)) { notification.RegisterMessage("RegistarskiBroj", "Gimnasticar sa datim registarskim brojem vec postoji."); throw new BusinessException(notification); } }
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(); } }