Exemple #1
0
        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
            });
        }