public IActionResult Dodaj(int id) { DodajTakmicenje vm = new DodajTakmicenje { Predmeti = _context.Predmet.GroupBy(x => x.Naziv).Select(i => i.First()).Select(x => new SelectListItem { Text = x.Naziv, Value = x.Id.ToString() }).ToList(), Skole = _context.Skola.Where(x => x.Id == id).Select(x => new SelectListItem { Text = x.Naziv, Value = x.Id.ToString() }).ToList(), Datum = DateTime.Now }; return(View(vm)); }
public IActionResult Snimi(DodajTakmicenje vm) { Takmicenje tak = new Takmicenje { Datum = vm.Datum, PredmetID = vm.PredmetID, SkolaID = vm.SkolaID, Razred = _context.Predmet.Where(x => x.Id == vm.PredmetID).Select(x => x.Razred).FirstOrDefault() }; _context.Add(tak); _context.SaveChanges(); var takmicari = _context.DodjeljenPredmet.Where(x => x.ZakljucnoKrajGodine > 3).Select(i => new TakmicenjeUcesnik { IsPristupio = false, OdjeljenjeStavkaID = i.OdjeljenjeStavkaId, Bodovi = 0 }).ToList(); var takmicenjeUcesnici = _context.TakmicenjeUcesnici.Select(x => new TakmicenjeUcesnik { Bodovi = x.Bodovi, Id = x.Id, IsPristupio = x.IsPristupio, OdjeljenjeStavkaID = x.OdjeljenjeStavkaID, TakmicenjeID = x.TakmicenjeID }).ToList(); bool DaLiImaUcesnika = false; //provjera da li uopste ima ucesnika za takmicenje koje se dodaje foreach (var item in takmicenjeUcesnici) { if (item.TakmicenjeID == tak.Id) { DaLiImaUcesnika = true; } } if (!DaLiImaUcesnika) { return(Redirect("/Takmicenje/Index")); } //dodaj najbolje ucesnike za dato takmicenje.. foreach (var Takmicar in takmicari) { bool flag = _context.DodjeljenPredmet.Where ( i => i.OdjeljenjeStavkaId == Takmicar.OdjeljenjeStavkaID && i.OdjeljenjeStavka.Odjeljenje.Razred == tak.Razred ).Select(i => i.ZakljucnoKrajGodine).Average() > 3; if (flag) { var noviTakmicar = new TakmicenjeUcesnik { TakmicenjeID = tak.Id, IsPristupio = false, Bodovi = 0, OdjeljenjeStavkaID = Takmicar.OdjeljenjeStavkaID }; _context.Add(noviTakmicar); _context.SaveChanges(); } } return(Redirect("/Takmicenje/Index")); }