public ActionResult Index(int?smjeriId) { List <StudentIndexVM.StudentInfo> studentInfos = ctx.Studenti .Where(x => !smjeriId.HasValue || x.SmjerId == smjeriId) .Select(x => new StudentIndexVM.StudentInfo() { BrojIndeksa = x.BrojIndeksa, Fakultet_Naziv = x.Smjer.Fakultet.Naziv, Id = x.Id, Ime = x.Korisnik.Ime, Prezime = x.Korisnik.Prezime, Smjer_Naziv = x.Smjer.Naziv, EctsUkupno = ctx.SlusaPredmet.Where(y => y.UpisGodine.StudentId == x.Id && y.FinalnaOcjena != null) .Sum(z => (float?)z.Predaje.Predmet.Ects) ?? 0, BrojPolozenihPredmeta = ctx.SlusaPredmet.Count(y => y.UpisGodine.StudentId == x.Id && y.FinalnaOcjena != null) }) .ToList(); StudentIndexVM Model = new StudentIndexVM { studenti = studentInfos, smjeroviStavke = UcitajSmjerove() }; return(View("Index", Model)); }
public ActionResult Index(int?fakultetId) { List <StudentIndexVM.StudentInfo> studentInfos = ctx.Students .Where(x => !x.Studiranjes.Any() || x.Studiranjes.Any(a => !fakultetId.HasValue || a.Npp.FakultetId == fakultetId)) .Select(x => new StudentIndexVM.StudentInfo { Id = x.Id, Ime = x.Korisnik.Ime, Prezime = x.Korisnik.Prezime, DatumRodjenja = x.DatumRodjenja, StudentiranjeInfos = x.Studiranjes.Select(s => new StudentIndexVM.StudentiranjeInfo { Id = s.Id, Fakultet = s.Npp.Fakultet.Naziv, Odjsek = s.Npp.Odsjek != null?s.Npp.Odsjek.Naziv:"", Status = s.StudentiranjeStatus, Pocetak = s.UgovorPocetak, Kraj = s.UgovorKraj }).ToList() }).ToList(); StudentIndexVM Model = new StudentIndexVM { TabelaPodaci = studentInfos, FakultetId = fakultetId, FakultetStavke = FakultetStavke() }; return(View("Index", Model)); }