public IActionResult Odaberi(SkolePrikazVM skolePrikazVM) { TakmicenjePrikazVM vm = new TakmicenjePrikazVM { Rows = _context.Takmicenje.Where(x => x.SkolaID == skolePrikazVM.SkolaID).Select(i => new TakmicenjePrikazVM.Row { BrojUcesnikaKojiNisuPristupili = _context.takmicenjeStavka.Where(c => c.TakmicenjeID == i.Id && c.IsPristupio == false).Count(), Razred = i.Razred, Datum = i.Datum, Predmet = i.Predmet.Naziv, TakmicenjeID = i.Id }).ToList(), Razred = skolePrikazVM.RazredID, Skola = _context.Skola.Where(x => x.Id == skolePrikazVM.SkolaID).Select(i => i.Naziv).FirstOrDefault(), SkolaID = skolePrikazVM.SkolaID }; foreach (var item in vm.Rows) { var najucesnici = _context.takmicenjeStavka.Include(x => x.OdjeljenjeStavka.Odjeljenje) .Include(i => i.OdjeljenjeStavka.Odjeljenje.Skola).Include(c => c.OdjeljenjeStavka.Ucenik).OrderByDescending(i => i.Bodovi).Where(x => x.TakmicenjeID == item.TakmicenjeID && x.IsPristupio == true).FirstOrDefault(); if (najucesnici != null) { item.NajUcesnik = najucesnici.OdjeljenjeStavka.Odjeljenje.Skola.Naziv + " " + najucesnici.OdjeljenjeStavka.Odjeljenje.Oznaka + " " + najucesnici.OdjeljenjeStavka.Ucenik.ImePrezime; } } return(View(vm)); }
public IActionResult Prikaz(TakmicenjeIndexVM model) { IQueryable <Takmicenje> takmicenja = null; if (model.Razred == 0) { takmicenja = db.Takmicenje .Include(x => x.Predmet) .Where(x => x.SkolaDomacinId == model.SkolaDomacinId); } else { takmicenja = db.Takmicenje .Include(x => x.Predmet) .Where(x => x.Razred == model.Razred && x.SkolaDomacinId == model.SkolaDomacinId); } TakmicenjePrikazVM ulazniModel = new TakmicenjePrikazVM { SkolaDomacinId = model.SkolaDomacinId, SkolaDomacin = db.Skola.Where(x => x.Id == model.SkolaDomacinId).SingleOrDefault().Naziv, Razred = model.Razred, rows = takmicenja .Select(x => new TakmicenjePrikazVM.Row { Datum = x.Datum.ToShortDateString(), Razred = x.Razred, Predmet = x.Predmet.Naziv, TakmicenjeId = x.Id, BrojNisuPristupili = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).Count(y => y.IsPristupio == false), NajUcenik = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).OrderByDescending(y => y.BrojBodova) .Select(y => y.OdjeljenjeStavka.Ucenik).FirstOrDefault().ImePrezime, }).ToList() }; foreach (var x in ulazniModel.rows) { var naj = db.OdjeljenjeStavka .Include(cx => cx.Odjeljenje) .Include(cx => cx.Ucenik) .Include(cx => cx.Odjeljenje.Skola) .Where(c => c.Ucenik.ImePrezime == x.NajUcenik).FirstOrDefault(); if (x.NajUcenik != null) { x.SkolaNajUcenika = naj.Odjeljenje.Skola.Naziv; x.OdjeljenjeNajUcenika = naj.Odjeljenje.Oznaka; } } return(View(ulazniModel)); }
public IActionResult Prikaz(TakmicenjeIndexVM model) { var takmicenja = db.Takmicenje .Include(x => x.Predmet) .Where(x => x.Razred == model.Razred && x.SkolaDomacinId == model.SKolaDomacinId); TakmicenjePrikazVM prikaz = new TakmicenjePrikazVM { SkolaDomacinId = model.SKolaDomacinId, SkolaDomacin = db.Skola.Where(x => x.Id == model.SKolaDomacinId).SingleOrDefault().Naziv, Razred = model.Razred, row = takmicenja.Select(x => new TakmicenjePrikazVM.Row { Datum = x.Datum.ToShortDateString(), Razred = x.Razred, Predmet = x.Predmet.Naziv, TakmicenjeId = x.Id, BrojUčesnikaKojiNisuPristupili = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).Count(y => y.IsPristupio == false), NajboljiUcenik = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).OrderByDescending(y => y.BrojBodova) .Select(y => y.OdjeljenjeStavka.Ucenik).FirstOrDefault().ImePrezime, }).ToList() }; foreach (var x in prikaz.row) { var naj = db.OdjeljenjeStavka .Include(z => z.Odjeljenje) .Include(z => z.Ucenik) .Include(z => z.Odjeljenje.Skola) .Where(a => a.Ucenik.ImePrezime == x.NajboljiUcenik).FirstOrDefault(); if (x.NajboljiUcenik != null) { x.SkolaNajUcenika = naj.Odjeljenje.Skola.Naziv; x.OdjeljenjeNajUcenika = naj.Odjeljenje.Oznaka; } } return(View(prikaz)); }