Пример #1
0
        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));
        }