public IActionResult Prijava(int takmID) { Takmicenje takm = db.Takmicenja.Where(t => t.ID == takmID).Include(t => t.Vrsta).SingleOrDefault(); if (takm == null) { return(View("Neuspjeh")); } TakmicenjePrijavaVM tp = new TakmicenjePrijavaVM { takmicenjeID = takmID, isTim = true }; if (takm.Vrsta.Naziv == "Single") { tp.isTim = false; } ViewBag.igraci = db.Igraci.Where(i => i.ELO >= takm.MinimalniELO).Select(i => new ComboBoxVM { ID = i.ID, Opis = i.PrikaznoIme }).ToList(); return(View(tp)); }
private void KreirajPrijavuIgrac(TakmicenjePrijavaVM prijava, int id) { Prijava_igrac prijava_Igrac1 = new Prijava_igrac { IgracID = prijava.Igrac1ID ?? default(int), PrijavaID = id }; db.Add(prijava_Igrac1); if (prijava.isTim) { Prijava_igrac prijava_Igrac2 = new Prijava_igrac { IgracID = prijava.Igrac2ID ?? default(int), PrijavaID = id }; db.Add(prijava_Igrac2); } db.SaveChanges(); }
public IActionResult Prijava(TakmicenjePrijavaVM prijava) { if (ModelState.IsValid) { Prijava_igrac pi = db.PrijaveIgraci.Where(p => p.Prijava.TakmicenjeID == prijava.takmicenjeID && p.IgracID == prijava.Igrac1ID).SingleOrDefault(); if (pi != null) { ModelState.AddModelError(nameof(prijava.Igrac1ID), "Igrač je već prijavljen na takmičenje."); } if (prijava.Igrac1ID == null) { ModelState.AddModelError(nameof(prijava.Igrac1ID), "Polje igrač1 je obavezno."); } if (prijava.isTim) { Prijava_igrac pi2 = db.PrijaveIgraci.Where(p => p.Prijava.TakmicenjeID == prijava.takmicenjeID && p.IgracID == prijava.Igrac2ID).SingleOrDefault(); if (pi2 != null) { ModelState.AddModelError(nameof(prijava.Igrac2ID), "Igrač je već prijavljen na takmičenje."); } if (prijava.Naziv == null) { ModelState.AddModelError(nameof(prijava.Naziv), "Polje naziv je obavezno."); } if (prijava.Igrac2ID == null) { ModelState.AddModelError(nameof(prijava.Igrac2ID), "Polje igrač2 je obavezno."); } if (db.BlokListe.Where(x => x.IgracID == prijava.Igrac2ID && x.TakmicenjeID == prijava.takmicenjeID).SingleOrDefault() != null) { ModelState.AddModelError(nameof(prijava.Igrac2ID), "Ovaj igrač je blokiran na ovom takmičenju."); } } if (prijava.Igrac1ID == prijava.Igrac2ID && prijava.Igrac2ID != null) { ModelState.AddModelError(nameof(prijava.Igrac2ID), "Ne možete dodati istog igrača kao saigrača."); } if (db.BlokListe.Where(x => x.IgracID == prijava.Igrac1ID && x.TakmicenjeID == prijava.takmicenjeID).SingleOrDefault() != null) { ModelState.AddModelError(nameof(prijava.Igrac1ID), "Blokirani ste na ovom takmičenju."); } if (ModelState.ErrorCount == 0) { Prijava nova = new Prijava { DatumPrijave = DateTime.Now, TakmicenjeID = prijava.takmicenjeID, isTim = prijava.isTim, Naziv = prijava.Naziv }; nova.StanjePrijave = new Stanje_Prijave(nova.ID); if (!prijava.isTim) { nova.Naziv = db.Igraci.Find(prijava.Igrac1ID).PrikaznoIme; } if (PostojiLiPrijava(nova.Naziv, prijava.takmicenjeID)) { ModelState.AddModelError(nameof(prijava.Naziv), "Ime je zauzeto."); LoadViewBagPrijava(prijava.takmicenjeID); return(View(prijava)); } db.Takmicenja.Find(prijava.takmicenjeID).Prijave.Add(nova); db.SaveChanges(); KreirajPrijavuIgrac(prijava, nova.ID); return(Redirect("/Takmicenje/UspjesnaPrijava")); } } LoadViewBagPrijava(prijava.takmicenjeID); return(View(prijava)); }