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