private async Task <PopravniIspitVM> BuildPopravniIspitVM(int popravniIspitId) { var popravniIspit = await _context.PopravniIspiti.FindAsync(popravniIspitId); return(new PopravniIspitVM { Id = popravniIspit.Id, BrojKojiNisuPolozili = await _popravniIspitService.BrojUcenikaNisuPolozili(popravniIspit.Id), BrojUcenika = await _context.PopravniIspitStavke .CountAsync(x => x.PopravniIspitId == popravniIspit.Id), Datum = popravniIspit.DatumOdrzavanja, Komisija = string.Join(", ", await _context.PopravniIspitKomisija .Include(x => x.Nastavnik) .Where(x => x.PopravniIspitId == popravniIspit.Id) .Select(x => x.Nastavnik.ImePrezime()).ToListAsync() ?? new System.Collections.Generic.List <string>()) }); }
private async Task <RezultatPretragePopravnihVM> BuildRezultatPretragePopravnihVM(int skolskaGodinaId, int predmetId, int skolaId) { var popravniIspiti = _context.PopravniIspiti .Where(x => x.SkolskaGodinaId == skolskaGodinaId && x.PredmetId == predmetId && x.SkolaId == skolaId); var popravniIspitiVM = new List <PopravniIspitVM>(); if (await popravniIspiti.AnyAsync()) { foreach (var p in popravniIspiti) { popravniIspitiVM.Add(new PopravniIspitVM { Id = p.Id, BrojKojiNisuPolozili = await _popravniIspitService.BrojUcenikaNisuPolozili(p.Id), BrojUcenika = await _context.PopravniIspitStavke .CountAsync(x => x.PopravniIspitId == p.Id), Datum = p.DatumOdrzavanja, Komisija = string.Join(", ", await _context.PopravniIspitKomisija .Include(x => x.Nastavnik) .Where(x => x.PopravniIspitId == p.Id) .Select(x => x.Nastavnik.ImePrezime()).ToListAsync() ?? new List <string>()) }); } } return(new RezultatPretragePopravnihVM { SkolaId = skolaId, Skola = (await _context.Skola.FindAsync(skolaId))?.Naziv ?? "", PredmetId = predmetId, Predmet = (await _context.Predmet.FindAsync(predmetId))?.Naziv ?? "", SkolskaGodinaId = skolskaGodinaId, SkolskaGodina = (await _context.SkolskaGodina.FindAsync(skolskaGodinaId))?.Naziv ?? "", PopravniIspiti = popravniIspitiVM }); }