Exemplo n.º 1
0
        public static void prebrisiTakmicenje(Takmicenje t, IList <KlubUcesnik> klubovi, IList <DrzavaUcesnik> drzave,
                                              IList <GimnasticarUcesnik> gimnasticari, IList <RezultatskoTakmicenje> rezTakmicenja,
                                              IList <SudijaUcesnik> sudije, IList <RasporedSudija> rasporediSudija, IList <RasporedNastupa> rasporediNastupa,
                                              IList <Ocena> ocene)
        {
            TakmicenjeDAO takmicenjeDAO = DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO();
            Takmicenje    t2            = takmicenjeDAO.FindByNazivGimnastikaDatum(t.Naziv, t.Gimnastika, t.Datum);

            if (t2 != null)
            {
                // Posto cemo izbrisati postojece takmicenje i uvesti ga sa novim ID-om, moramo da
                // promenimo sva finala koja se referisu na ovo takmicenje da koriste novi ID.
                IList <Takmicenje> finala = takmicenjeDAO.FindFinala(t2);
                if (finala.Count > 0)
                {
                    takmicenjeDAO.Add(t);
                    foreach (Takmicenje f in finala)
                    {
                        if (f.PrvoKolo != null && f.PrvoKolo.Id == t2.Id)
                        {
                            f.PrvoKolo = t;
                        }
                        if (f.DrugoKolo != null && f.DrugoKolo.Id == t2.Id)
                        {
                            f.DrugoKolo = t;
                        }
                        if (f.TreceKolo != null && f.TreceKolo.Id == t2.Id)
                        {
                            f.TreceKolo = t;
                        }
                        if (f.CetvrtoKolo != null && f.CetvrtoKolo.Id == t2.Id)
                        {
                            f.CetvrtoKolo = t;
                        }
                        takmicenjeDAO.Update(f);
                    }
                }
                deleteTakmicenje(t2, false);
            }
            addTakmicenje(t, klubovi, drzave, gimnasticari, rezTakmicenja, sudije, rasporediSudija, rasporediNastupa, ocene);
        }