public IActionResult TakmicenjeIndex(TakmicenjeFormVM tempModel) { Skola skola = db.Skola.Find(tempModel.SkolaID); TakmicenjeIndexVM model = new TakmicenjeIndexVM() { SkolaID = tempModel.SkolaID, SkolaNaziv = skola.Naziv, Razred = tempModel.RazredID, Rows = db.Takmicenje.Where(x => x.SkolaID == tempModel.SkolaID).Select(x => new TakmicenjeIndexVM.Row() { TakmicenjeID = x.Id, Predmet = x.Predmet.Naziv, Razred = x.Razred, Datum = x.Datum, BrojUcenikaNisuPristupili = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeID == x.Id && y.Pristupio == false).Count(), NajboljaSkola = db.OdjeljenjeStavka.Where(y => y.Odjeljenje.SkolaID == x.SkolaID) .Select(y => y.DodjeljenPredmets.OrderByDescending(d => d.ZakljucnoKrajGodine) .Select(d => d.OdjeljenjeStavka.Odjeljenje.Skola.Naziv).FirstOrDefault()).FirstOrDefault(), NajboljeOdjeljenje = db.OdjeljenjeStavka.Where(y => y.Odjeljenje.SkolaID == x.SkolaID) .Select(y => y.DodjeljenPredmets.OrderByDescending(d => d.ZakljucnoKrajGodine) .Select(d => d.OdjeljenjeStavka.Odjeljenje.Oznaka).FirstOrDefault()).FirstOrDefault(), NajboljiUcesnik = db.OdjeljenjeStavka.Where(y => y.Odjeljenje.SkolaID == x.SkolaID) .Select(y => y.DodjeljenPredmets.OrderByDescending(d => d.ZakljucnoKrajGodine) .Select(d => d.OdjeljenjeStavka.Ucenik.ImePrezime).FirstOrDefault()).FirstOrDefault() }).ToList() }; return(View(model)); }
public IActionResult Index() { var model = new TakmicenjeIndexVM { Skole = _context.Skola.Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Naziv }).ToList(), Predmeti = _context.Predmet.Select(x => new SelectListItem { Value = x.Id.ToString(), Text = $"{x.Naziv} (razred {x.Razred})" }).OrderBy(x => x.Text).ToList() }; model.Zapisi = _context.Takmicenje .Include(x => x.Skola) .Include(x => x.Predmet).Select(x => new TakmicenjeIndexVM.Zapis { Takmicenje = x, }).ToList(); foreach (var item in model.Zapisi) { item.NajboljiUcesnik = GetNajbolji(item.Takmicenje.Id); } return(View(model)); }
public IActionResult Index() { var listaSkola = _context.Skola.Select(s => new SelectListItem { Value = s.Id.ToString(), Text = s.Naziv }).ToList(); List <SelectListItem> razredi = new List <SelectListItem>(); razredi.Insert(0, new SelectListItem { Value = null, Text = "--Odaberite razred--", Selected = true }); for (var i = 1; i <= 4; i++) { razredi.Add(new SelectListItem { Value = i.ToString(), Text = i.ToString() }); } TakmicenjeIndexVM model = new TakmicenjeIndexVM { Skole = listaSkola, Razredi = razredi }; return(View(model)); }
public IActionResult Index() { var Razredi = new List <string> { "", "1", "2", "3", "4" }; var model = new TakmicenjeIndexVM { Skole = ctx.Skola .Select ( i => new SelectListItem { Value = i.Id.ToString(), Text = i.Naziv } ) .OrderBy(i => i.Text) .ToList(), Razredi = Razredi .ConvertAll ( i => { return(new SelectListItem() { Text = i, Value = i, Selected = false }); } ) }; return(View(model)); }
public IActionResult Index() { //PROBLEM, moram dohvatiti razrede koji nemaju svoj id, posto se ID veze za OdjeljenjeID radi cega moram praviti stringove razreda var Razredi = new List <string> { "", "1", "2", "3", "4" }; var index = new TakmicenjeIndexVM() { domacini = db.Skola.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Value = x.Id.ToString(), Text = x.Naziv }).OrderBy(x => x.Text).ToList(), razredi = Razredi.ConvertAll( i => { return(new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Text = i, Value = i, Selected = false }); } ) }; return(View(index)); }
public ActionResult Odaberi(TakmicenjeIndexVM podaci) { TakmicenjeOdaberiVM model = new TakmicenjeOdaberiVM { Razred = podaci.Razred, SkolaId = (int)podaci.SkolaId, Skola = _context.Skola.Find(podaci.SkolaId).Naziv }; if (podaci.Razred == null) { model.rows = _context.Takmicenje.Where(t => t.SkolaID == podaci.SkolaId).Select(t => new TakmicenjeOdaberiVM.Row { TakmicenjeId = t.Id, Razred = t.Predmet.Razred, Predmet = t.Predmet.Naziv, Datum = t.Datum, BrojUcesnikaKojiNisuPristupili = _context.TakmicenjeUcesnik.Where(tu => tu.TakmicenjeId == t.Id && tu.Pristupio == false).Count(), NajboljiUcesnik = "??" }).ToList(); } else { model.rows = _context.Takmicenje.Where(t => t.Predmet.Razred == podaci.Razred && t.SkolaID == podaci.SkolaId).Select(t => new TakmicenjeOdaberiVM.Row { TakmicenjeId = t.Id, Razred = t.Predmet.Razred, Predmet = t.Predmet.Naziv, Datum = t.Datum, BrojUcesnikaKojiNisuPristupili = _context.TakmicenjeUcesnik.Where(tu => tu.TakmicenjeId == t.Id && tu.Pristupio == false).Count(), NajboljiUcesnikOdjeljenjeStavka = _context.TakmicenjeUcesnik.Where(tu => tu.TakmicenjeId == t.Id).OrderByDescending(tu => tu.Rezultat).First().OdjeljenjeStavkaId }).ToList(); } for (int i = 0; i < model.rows.Count; i++) { if (model.rows[i].NajboljiUcesnikOdjeljenjeStavka != 0) { var OS = _context.OdjeljenjeStavka.Where(a => a.Id == model.rows[i].NajboljiUcesnikOdjeljenjeStavka) .Include(a => a.Odjeljenje.Skola) .Include(a => a.Odjeljenje) .Include(a => a.Ucenik) .Single(); model.rows[i].NajboljiUcesnik = OS.Odjeljenje.Skola.Naziv + " | " + OS.Odjeljenje.Oznaka + " | " + OS.Ucenik.ImePrezime; } } return(View(model)); }
public IActionResult Index() { TakmicenjeIndexVM model = new TakmicenjeIndexVM(); model.skole = db.Skola.Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Naziv }).ToList(); return(View(model)); }
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 Index() { TakmicenjeIndexVM model = new TakmicenjeIndexVM { ListaSkola = _context.Skola.Select(s => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Value = s.Id.ToString(), Text = s.Naziv }).ToList() }; return(View(model)); }
public IActionResult Choose(TakmicenjeIndexVM model) { var skola = db.Skola.Find(model.SkolaId); var choose = new TakmicenjeChooseVM { SkolaID = skola.Id, SkolaNaziv = skola.Naziv, RazredNaziv = model.RazredID, rows = db.Takmicenje.Where(x => x.Skola.Id == model.SkolaId).Select( x => new TakmicenjeChooseVM.Rows { TakmicenjeId = x.Id, PredmetId = x.PredmetId, PredmetNaziv = x.Predmet.Naziv, Razred = x.Predmet.Razred, Datum = x.Datum.ToString("dd/MM/yyyy"), BrojUcesnikaKojiNisuPristupili = db.TakmicenjeUcesnik .Where(i => i.TakmicenjeId == x.Id && x.IsPristupio == false).Count() } ).ToList() }; if (model.RazredID != null) { choose.rows = choose.rows.Where(x => x.Razred.ToString() == model.RazredID).ToList(); } foreach (var item in choose.rows) { var best = db.TakmicenjeUcesnik.Where(x => x.TakmicenjeId == item.TakmicenjeId) .Include(x => x.OdjeljenjeStavka.Ucenik) .Include(x => x.OdjeljenjeStavka.Odjeljenje.Skola) .Include(x => x.OdjeljenjeStavka.Odjeljenje) .FirstOrDefault(); if (best != null) { item.NajboljiUcesnikSkola = best.OdjeljenjeStavka.Odjeljenje.Skola.Naziv; item.NajboljiUcesnikOdjeljenje = best.OdjeljenjeStavka.Odjeljenje.Oznaka; item.NajboljiUcesnikImePrezime = best.OdjeljenjeStavka.Ucenik.ImePrezime; } } return(View(choose)); }
public ActionResult Snimi(TakmicenjeDodajVM model) { Takmicenje t = new Takmicenje { Datum = model.Datum, PredmetId = model.PredmetId, SkolaID = model.SkolaId, Zakljucano = false }; _context.Takmicenje.Add(t); _context.SaveChanges(); List <OdjeljenjeStavka> listaOS = _context.DodjeljenPredmet.Where(dp => dp.PredmetId == model.PredmetId && dp.ZakljucnoKrajGodine == 5).Select(dp => dp.OdjeljenjeStavka).ToList(); foreach (var x in listaOS) { double prosjek = _context.DodjeljenPredmet.Where(dp => dp.OdjeljenjeStavkaId == x.Id).Average(dp => dp.ZakljucnoKrajGodine); if (prosjek >= 4) { TakmicenjeUcesnik tu = new TakmicenjeUcesnik { OdjeljenjeStavkaId = x.Id, Pristupio = false, Rezultat = 0, TakmicenjeId = t.Id }; _context.TakmicenjeUcesnik.Add(tu); _context.SaveChanges(); } } TakmicenjeIndexVM newTI = new TakmicenjeIndexVM { SkolaId = model.SkolaId, Razred = model.Razred }; return(RedirectToAction("Index")); }
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)); }
public IActionResult Odaberi(TakmicenjeIndexVM model) { var skola = ctx.Skola.Find(model.SkolaId); var modelOdaberi = new TakmicenjeOdaberiVM { SkolaId = skola.Id, Skola = skola.Naziv, Razred = model.Razred, Rows = ctx.Takmicenje .Where ( i => i.Skola.Id == model.SkolaId ) .Select ( i => new TakmicenjeOdaberiVM.Row { TakmicenjeId = i.Id, PredmetId = i.Predmet.Id, Predmet = i.Predmet.Naziv, Razred = i.Razred, Datum = i.Datum.ToString("dd/MM/yyyy"), BrojUcesnikaKojiNisuPristupili = ctx.TakmicenjeUcesnik .Where ( t => t.TakmicenjeId == i.Id && t.IsPristupio == false ) .Count() } ) .ToList() }; if (model.Razred != null) { modelOdaberi.Rows = modelOdaberi.Rows.Where(i => i.Razred.ToString() == model.Razred).ToList(); } foreach (var Row in modelOdaberi.Rows) { var Najbolji = ctx.TakmicenjeUcesnik .Include(i => i.OdjeljenjeStavka.Ucenik) .Include(i => i.OdjeljenjeStavka.Odjeljenje) .Include(i => i.OdjeljenjeStavka.Odjeljenje.Skola) .OrderByDescending(i => i.Bodovi) .Where(i => i.TakmicenjeId == Row.TakmicenjeId && i.IsPristupio == true) .FirstOrDefault(); if (Najbolji != null) { Row.NajboljiUcesnikId = Najbolji.OdjeljenjeStavka.Ucenik.Id; Row.NajboljiUcesnikImePrezime = Najbolji.OdjeljenjeStavka.Ucenik.ImePrezime; Row.NajboljiUcesnikOdjeljenje = Najbolji.OdjeljenjeStavka.Odjeljenje.Oznaka; Row.NajboljiUcesnikSkola = Najbolji.OdjeljenjeStavka.Odjeljenje.Skola.Naziv; } } return(View(modelOdaberi)); }
public IActionResult Index(TakmicenjeIndexVM model) { return(RedirectToAction("Pregled", new { skolaID = model.skolaID, razred = model.razred })); }