public IActionResult OslobodljenMaturskiIspitStavka(int maturskiIspitStavkaId)
        {
            //nastavnikId se može dobiti na drugi način
            MatruskiIspitStavka mis = _ispitiServices
                                      .OslobodljenMaturskiIspitStavka(maturskiIspitStavkaId);

            return(View(
                       "DetaljiMaturskogIspita",
                       _ispitiServices.DetaljiMaturskogIspita(mis.MaturskiIspitId)
                       ));
        }
        public IActionResult AzurirajMaturskiIspitStavka(int maturskiIspitStavkaId, int bodovi)
        {
            //nastavnikId se može dobiti na drugi način
            MatruskiIspitStavka mis = _ispitiServices
                                      .AzurirajMaturskiIspitStavka(maturskiIspitStavkaId, bodovi);

            return(View(
                       "DetaljiMaturskogIspita",
                       _ispitiServices.DetaljiMaturskogIspita(mis.MaturskiIspitId)
                       ));
        }
        public void NoviMaturskiIspit(DateTime datum, int odjeljenjeId)
        {
            MaturskiIspit noviMaturskiIspit = new MaturskiIspit
            {
                Datum        = datum,
                OdjeljenjeId = odjeljenjeId,
                NastavnikId  = _nastavnikId
            };

            _context.MaturskiIspit.Add(noviMaturskiIspit);
            _context.SaveChanges();

            HashSet <UpisUOdjeljenje> upisiUOdjeljenja = _context.UpisUOdjeljenje
                                                         .Where(uuo => uuo.OdjeljenjeId == odjeljenjeId && uuo.OpciUspjeh > 1)
                                                         //pocetak zadataka 3b
                                                         .Where(uuo =>
                                                                uuo.MatruskiIspitStavke
                                                                .OrderByDescending(mis => mis.Id)
                                                                .FirstOrDefault().Oslobodjen != true

                                                                &&

                                                                uuo.MatruskiIspitStavke
                                                                .OrderByDescending(mis => mis.Id)
                                                                .FirstOrDefault().Bodovi <= 50)
                                                         //kraj zadataka 3b
                                                         .ToHashSet();



            foreach (var upisUOdjeljenje in upisiUOdjeljenja)
            {
                upisUOdjeljenje.MatruskiIspitStavke.OrderByDescending(x => x.Id).FirstOrDefault();

                MatruskiIspitStavka matruskiIspitStavkaTemp = new MatruskiIspitStavka
                {
                    Oslobodjen        = false,
                    MaturskiIspitId   = noviMaturskiIspit.Id,
                    UpisUOdjeljenjeId = odjeljenjeId,
                    Bodovi            = 0,
                };

                if (upisUOdjeljenje.OpciUspjeh == 5)
                {
                    matruskiIspitStavkaTemp.Oslobodjen = true;
                    matruskiIspitStavkaTemp.Bodovi     = null;
                }


                _context.MaturskiIspitStavka.Add(matruskiIspitStavkaTemp);
            }
            _context.SaveChanges();
        }
        public MatruskiIspitStavka OslobodljenMaturskiIspitStavka(int maturskiIspitStavkaId)
        {
            MatruskiIspitStavka maturskiIspitStavka = _context.MaturskiIspitStavka
                                                      .Where(mis => mis.Id == maturskiIspitStavkaId)
                                                      .First();

            maturskiIspitStavka.Oslobodjen = true;
            maturskiIspitStavka.Bodovi     = null;

            _context.MaturskiIspitStavka.Update(maturskiIspitStavka);
            _context.SaveChanges();

            return(maturskiIspitStavka);
        }
        public MatruskiIspitStavka AzurirajMaturskiIspitStavka(int maturskiIspitStavkaId, int bodovi)
        {
            MatruskiIspitStavka maturskiIspitStavka = _context.MaturskiIspitStavka
                                                      .Where(mis => mis.Id == maturskiIspitStavkaId)
                                                      .First();

            if (!maturskiIspitStavka.Oslobodjen)
            {
                maturskiIspitStavka.Bodovi = bodovi;
                _context.MaturskiIspitStavka.Update(maturskiIspitStavka);
                _context.SaveChanges();
            }
            return(maturskiIspitStavka);
        }