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 delete(Klub klub) { GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO(); IList <Gimnasticar> gimnasticari = gimnasticarDAO.FindGimnasticariByKlub(klub); foreach (Gimnasticar g in gimnasticari) { g.Klub = null; gimnasticarDAO.Update(g); } DAOFactoryFactory.DAOFactory.GetKlubDAO().Delete(klub); }
protected override void delete(KategorijaGimnasticara kategorija) { GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO(); IList <Gimnasticar> gimnasticari = gimnasticarDAO.FindGimnasticariByKategorija(kategorija); foreach (Gimnasticar g in gimnasticari) { g.Kategorija = null; gimnasticarDAO.Update(g); } DAOFactoryFactory.DAOFactory.GetKategorijaGimnasticaraDAO().Delete(kategorija); }
protected override void delete(Drzava drzava) { GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO(); IList <Gimnasticar> gimnasticari = gimnasticarDAO.FindGimnasticariByDrzava(drzava); SudijaDAO sudijaDAO = DAOFactoryFactory.DAOFactory.GetSudijaDAO(); IList <Sudija> sudije = sudijaDAO.FindSudijeByDrzava(drzava); foreach (Gimnasticar g in gimnasticari) { g.Drzava = null; gimnasticarDAO.Update(g); } foreach (Sudija s in sudije) { s.Drzava = null; sudijaDAO.Update(s); } DAOFactoryFactory.DAOFactory.GetDrzavaDAO().Delete(drzava); }
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); } } }