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); } }