protected override void updateEntity(DomainObject entity) { RezultatskoTakmicenjeDescription desc = (RezultatskoTakmicenjeDescription)entity; DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDescriptionDAO().Update(desc); Takmicenje takmicenje = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(takmicenjeId); RezultatskoTakmicenjeDAO rezTakDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO(); IList <RezultatskoTakmicenje> rezTakmicenja = rezTakDAO.FindByTakmicenje(takmicenjeId); TakmicarskaKategorijaDAO takKatDAO = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO(); IList <RezultatskoTakmicenje> istaRezTakmicenja = new List <RezultatskoTakmicenje>(); IList <RezultatskoTakmicenje> vecaRezTakmicenja = new List <RezultatskoTakmicenje>(); int redBroj = 0; foreach (RezultatskoTakmicenje rt in rezTakmicenja) { if (rt.TakmicenjeDescription.RedBroj < desc.RedBroj) { if (rt.RedBroj > redBroj) { redBroj = rt.RedBroj; } } else if (rt.TakmicenjeDescription.RedBroj > desc.RedBroj) { vecaRezTakmicenja.Add(rt); } } foreach (TakmicarskaKategorija k in sveKategorije) { if (SelKategorije.Contains(k) && oldKategorije.Contains(k)) { RezultatskoTakmicenje rt = rezTakDAO.FindByKatDesc(k, desc); rt.RedBroj = (byte)++redBroj; rezTakDAO.Update(rt); } else if (SelKategorije.Contains(k) && !oldKategorije.Contains(k)) { takKatDAO.Attach(k, false); rezTakDAO.Add(createRezultatskoTakmicenje(takmicenje, k, desc, ++redBroj)); } else if (!SelKategorije.Contains(k) && oldKategorije.Contains(k)) { RezultatskoTakmicenje rt = rezTakDAO.FindByKatDesc(k, desc); rezTakDAO.Delete(rt); } } foreach (RezultatskoTakmicenje rt in vecaRezTakmicenja) { rt.RedBroj = (byte)++redBroj; rezTakDAO.Update(rt); } }
private void deleteTakmicenje(RezultatskoTakmicenjeDescription desc) { RezultatskoTakmicenjeDescriptionDAO rezTakDescDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDescriptionDAO(); rezTakDescDAO.Attach(desc, false); RezultatskoTakmicenjeDAO rezTakDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO(); foreach (RezultatskoTakmicenje rt in rezTakDAO.FindByDescription(desc)) { rezTakDAO.Delete(rt); } // Ne apdejtujem redne brojeve za preostala rez. takmicenja zato sto je redosled nepromenjen TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO(); Takmicenje takmicenje = takmicenjeDAO.FindById(takmicenjeId); takmicenje.removeTakmicenjeDescription(desc); takmicenjeDAO.Update(takmicenje); rezTakDescDAO.Delete(desc); }
public static void deleteTakmicenje(Takmicenje t, bool proveriFinala) { TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO(); if (proveriFinala) { // Proveri da li se neko takmicenje (finale kupa ili zbir vise kola) referise na ovo takmicenje. IList <Takmicenje> finala = takmicenjeDAO.FindFinala(t); if (finala.Count > 0) { string msg = "Takmicenje \"" + t.ToString() + "\" je nemoguce izbrisati jer je ono jedno od kola za " + "sledeca finala:\n\n"; foreach (Takmicenje f in finala) { msg += f.ToString() + "\n"; } throw new BusinessException(msg); } } // brisi ocene OcenaDAO ocenaDAO = DAOFactoryFactory.DAOFactory.GetOcenaDAO(); foreach (Ocena o in ocenaDAO.FindByTakmicenje(t.Id)) { ocenaDAO.Delete(o); } // brisi rasporede nastupa RasporedNastupaDAO rasporedNastupaDAO = DAOFactoryFactory.DAOFactory.GetRasporedNastupaDAO(); foreach (RasporedNastupa r in rasporedNastupaDAO.FindByTakmicenje(t.Id)) { rasporedNastupaDAO.Delete(r); } // brisi rasporede sudija RasporedSudijaDAO rasporedSudijaDAO = DAOFactoryFactory.DAOFactory.GetRasporedSudijaDAO(); foreach (RasporedSudija r in rasporedSudijaDAO.FindByTakmicenje(t.Id)) { rasporedSudijaDAO.Delete(r); } // brisi sudije ucesnike SudijaUcesnikDAO sudijaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetSudijaUcesnikDAO(); foreach (SudijaUcesnik s in sudijaUcesnikDAO.FindByTakmicenje(t.Id)) { sudijaUcesnikDAO.Delete(s); } // brisi rezultatska takmicenja i ekipe RezultatskoTakmicenjeDAO rezultatskoTakmicenjeDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO(); EkipaDAO ekipaDAO = DAOFactoryFactory.DAOFactory.GetEkipaDAO(); foreach (RezultatskoTakmicenje r in rezultatskoTakmicenjeDAO.FindByTakmicenje(t.Id)) { foreach (Ekipa e in r.Takmicenje1.Ekipe) { ekipaDAO.Delete(e); } rezultatskoTakmicenjeDAO.Delete(r); } // brisi gimnasticare ucesnike GimnasticarUcesnikDAO gimnasticarUcesnikDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO(); foreach (GimnasticarUcesnik g in gimnasticarUcesnikDAO.FindByTakmicenje(t.Id)) { gimnasticarUcesnikDAO.Delete(g); } // brisi klubove ucesnike KlubUcesnikDAO klubUcesnikDAO = DAOFactoryFactory.DAOFactory.GetKlubUcesnikDAO(); foreach (KlubUcesnik k in klubUcesnikDAO.FindByTakmicenje(t.Id)) { klubUcesnikDAO.Delete(k); } // brisi drzave ucesnike DrzavaUcesnikDAO drzavaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO(); foreach (DrzavaUcesnik d in drzavaUcesnikDAO.FindByTakmicenje(t.Id)) { drzavaUcesnikDAO.Delete(d); } // brisi kategorije TakmicarskaKategorijaDAO takmicarskaKategorijaDAO = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO(); foreach (TakmicarskaKategorija k in takmicarskaKategorijaDAO.FindByTakmicenje(t.Id)) { takmicarskaKategorijaDAO.Delete(k); } // brisi descriptions RezultatskoTakmicenjeDescriptionDAO rezTakDescDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDescriptionDAO(); foreach (RezultatskoTakmicenjeDescription d in rezTakDescDAO.FindByTakmicenje(t.Id)) { rezTakDescDAO.Delete(d); } // brisi takmicenje takmicenjeDAO.Delete(t); }