Esempio n. 1
0
        public Takmicenja Initialize(int id)
        {
            var obj = db.Takmicenja
                      .Include(tak => tak.Kategorija)
                      .Include(tak => tak.Sistem)
                      .Include(tak => tak.Vrsta)
                      .Include(tak => tak.Status)
                      .Include(tak => tak.Feed)
                      .Include(tak => tak.Bracketi)
                      .Include(tak => tak.Prijave).SingleOrDefault(y => y.ID == id);

            if (obj == null)
            {
                throw new UserException("Takmicenje ne postoji");
            }
            ValidirajInitTakmicenja(obj);
            try
            {
                initTakmicenja.GenerisiRaspored(obj);
            }
            catch (Exception) // mislim da samo moze biti dbupdate exception ali hajd neka exception
            {
                throw new Exception("Došlo je do greške prilikom inicijalizovanja takmičenja");
            }
            var povratni = GetByID(id); // zbog includeova i to lakse odozgo nego da ponavljam kod ovdje

            return(povratni);
        }
Esempio n. 2
0
        public IActionResult Init(int ID)//mozda ce biti i task
        {
            List <string> errors      = new List <string>();
            Takmicenje    _takmicenje = db.Takmicenja
                                        .Include(tak => tak.Kategorija)
                                        .Include(tak => tak.Sistem)
                                        .Include(tak => tak.Vrsta)
                                        .Include(tak => tak.Status)
                                        .Include(tak => tak.Feed)
                                        .Include(tak => tak.Bracketi)
                                        .Include(tak => tak.Prijave).SingleOrDefault(y => y.ID == ID);

            if (_takmicenje != null && !_takmicenje.Inicirano)
            {
                if (_takmicenje.RokPocetkaPrijave != null && _takmicenje.RokZavrsetkaPrijave > DateTime.Now)
                {
                    errors.Add("Rok registracija mora zavrsiti prije generisanja rasporeda");
                }
                if (_takmicenje.Prijave.Count() < 4)
                {
                    errors.Add("Takmicenje mora imati barem 4 igraca, otvorite ponovo registracije");
                }
                if (errors.Count() == 0)
                {
                    using (var transakcija = db.Database.BeginTransaction())
                    {
                        try
                        {
                            inicijalizator.GenerisiRaspored(_takmicenje);
                            transakcija.Commit();
                            return(Redirect("/Takmicenje/Index"));
                        }
                        catch (Exception err)
                        {
                            transakcija.Rollback();
                            return(Redirect("/Takmicenje/Neuspjeh"));
                        }
                    }
                }
            }
            errors.Add("Takmicenje ne postoji ili je vec inicirano");
            return(View("Neuspjeh", errors));
        }