public async Task <IActionResult> Uredi(MaturskiIspitStavkaInputVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Podaci nisu validni."));
            }

            var polaganje = await _dbContext.MaturskiIspitStavke
                            .Include(x => x.UpisUOdjeljenje)
                            .ThenInclude(x => x.Ucenik)
                            .FirstOrDefaultAsync(x => x.Id == model.Id);

            if (polaganje == null)
            {
                return(NotFound());
            }

            if (polaganje.Oslobodjen)
            {
                return(BadRequest());
            }

            polaganje.Bodovi = model.Bodovi;

            _dbContext.Update(polaganje);
            await _dbContext.SaveChangesAsync();

            return(PartialView("_MaturskiIspitStavkaRow", await BuildMaturskiIspitStavkaVM(polaganje)));
        }
        public async Task <IActionResult> Edit(OdrzaniCasDetaljiVM model)
        {
            var currentUser = await HttpContext.GetLoggedInUser();

            var nastavnik = await _dbContext.Nastavnik.FirstOrDefaultAsync(x => x.UserId == currentUser.Id);

            if (nastavnik == null)
            {
                return(NotFound());
            }

            var casFromDb = await _dbContext.OdrzaniCasovi
                            .Include(x => x.Angazovan)
                            .FirstOrDefaultAsync(x => x.Id == model.Id);

            if (casFromDb == null)
            {
                return(NotFound());
            }

            //Provera da li je trenutno prijavljeni nastavnik kreirao cas koji se namerava izmeniti
            if (casFromDb.Angazovan.NastavnikId != nastavnik.Id)
            {
                return(Unauthorized());
            }

            casFromDb.Datum = model.Datum;
            _dbContext.Update(casFromDb);
            await _dbContext.SaveChangesAsync();

            return(Ok("Uspjesno evidentiran datum odrzanog casa."));
        }
        public async Task <IActionResult> UrediPrisustvo(UredjivanjePrisustvaVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Podaci nisu validni."));
            }
            try
            {
                var odrzaniCasStavka = await _context.OdrzaniCasStavke.FindAsync(model.OdrzaniCasStavkaId);

                if (odrzaniCasStavka == null)
                {
                    return(BadRequest("Prisustvo nije pronadjeno."));
                }

                if (model.IsPrisutan)
                {
                    odrzaniCasStavka.Ocjena = model.Ocjena;
                }
                else
                {
                    odrzaniCasStavka.OpravdanoOdsustvo = model.OpravdanoOdsutan;
                    odrzaniCasStavka.Napomena          = model.Napomena;
                }

                _context.Update(odrzaniCasStavka);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(ViewComponent("SinglePrisustvo", new { odrzaniCasStavkaId = model.OdrzaniCasStavkaId }));
        }
Esempio n. 4
0
        public IActionResult Snimi(int Id)
        {
            KorisnickiNalog korisnik = HttpContext.GetLogiraniKorisnik();
            int             indeks   = _db.Gost.Where(g => g.NalogID == korisnik.Id).Select(l => l.id).FirstOrDefault();
            Soba            x        = _db.Soba.Find(Id);
            Rezervacija     nova     = new Rezervacija
            {
                GostID           = indeks,
                datumRezervacije = DateTime.Now,
                _ZaposlenikId    = 3,
                Aktivna          = true
            };

            _db.Rezervacija.Add(nova);
            _db.SaveChanges();
            RezervisanaSoba soba = new RezervisanaSoba
            {
                RezervacijaID = nova.Id,
                SobaID        = x.Id,
                pusenje       = false,
            };

            x.Dostupna = false;
            _db.Update(x);
            _db.SaveChanges();
            _db.RezervisanaSoba.Add(soba);
            _db.SaveChanges();

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Snimi(IspitPolaganjeVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Podaci nisu validni."));
            }

            if (!model.Ocjena.HasValue)
            {
                var ispitTerminDecryptedId = int.Parse(_protector.Unprotect(model.IspitniTerminId));
                var ispitniTermin          = await _context.IspitniTermini.FindAsync(ispitTerminDecryptedId);

                if (ispitniTermin == null)
                {
                    return(NotFound("Ispitni termin nije pronadjne."));
                }

                var novoPolaganje = new IspitPolaganje
                {
                    IspitniTerminId = int.Parse(_protector.Unprotect(model.IspitniTerminId)),
                    Ocjena          = 0,
                    PristupioIspitu = false,
                    UpisGodineId    = int.Parse(_protector.Unprotect(model.UpisGodineId))
                };
                await _context.AddAsync(novoPolaganje);

                await _context.SaveChangesAsync();

                ViewData["evidentiraniRezultati"] = ispitniTermin.EvidentiraniRezultati;
                ViewData["datumIspita"]           = ispitniTermin.DatumIspita;


                return(PartialView("_PolaganjeIspitaRow", await BuildPolaganjeIspitaVM(novoPolaganje)));
            }

            var polaganjeFromDb = await _context.PolaganjaIspita
                                  .Include(x => x.IspitniTermin)
                                  .FirstOrDefaultAsync(x => x.Id == int.Parse(_protector.Unprotect(model.Id)));

            if (polaganjeFromDb == null)
            {
                return(BadRequest("Polaganje ne postoji."));
            }

            polaganjeFromDb.Ocjena          = model.Ocjena;
            polaganjeFromDb.PristupioIspitu = true;

            _context.Update(polaganjeFromDb);
            await _context.SaveChangesAsync();

            ViewData["evidentiraniRezultati"] = polaganjeFromDb.IspitniTermin.EvidentiraniRezultati;
            ViewData["datumIspita"]           = polaganjeFromDb.IspitniTermin.DatumIspita;

            return(PartialView("_PolaganjeIspitaRow", await BuildPolaganjeIspitaVM(polaganjeFromDb)));
        }
Esempio n. 6
0
        public IActionResult PromijeniPrisustvo(int id)
        {
            OdrzaniCasDetalj o = db.OdrzaniCasDetalj.Find(id);

            if (o != null)
            {
                o.Odsutan = o.Odsutan ? false : true;
                db.Update(o);
                db.SaveChanges();
            }
            return(Redirect("/AjaxTest/Prikazi/" + o.OdrzaniCasId));
        }
Esempio n. 7
0
        public IActionResult TogglePrisustvo(int takmicenjeUcenikId, bool prisustvo)
        {
            TakmicenjeUcesnik takmicenjeUcesnik = _context.TakmicenjeUcesnik
                                                  .Where(tu => tu.Id == takmicenjeUcenikId)
                                                  .FirstOrDefault();

            takmicenjeUcesnik.Pristupio = prisustvo;

            _context.Update(takmicenjeUcesnik);
            _context.SaveChanges();

            return(RedirectToAction("RezultatiTakmicenja", new { takmicenjeId = takmicenjeUcesnik.TakmicenjeId }));
        }
        public IActionResult Uredi(AjaxTestUrediVM model)
        {
            IspitStavka stavka = db.IspitStavka.Find(model.IspitStavkaId);

            if (stavka != null)
            {
                stavka.Ocjena = model.Ocjena;
                db.Update(stavka);
                db.SaveChanges();
                return(Redirect("/AjaxTest/Prikazi/" + stavka.IspitId));
            }
            return(Redirect("Greska"));
        }
Esempio n. 9
0
        public async Task <IActionResult> PrisustvoToggler(int Id)
        {
            var prisustvo = await _context.OdrzaniCasDetalji.FindAsync(Id);

            if (prisustvo == null)
            {
                return(NotFound("Prisustvo nije pronadjeno."));
            }

            prisustvo.Odsutan = !prisustvo.Odsutan;
            _context.Update(prisustvo);
            await _context.SaveChangesAsync();

            return(ViewComponent("PrisustvoCasu", new { odrzaniCasDetaljiId = Id }));
        }
        public IActionResult IzmjeniBodoveUceniku(int popravniIspitStavkaId, double bodovi)
        {
            PopravniIspitStavka popravniIspitStavka = _context.PopravniIspitStavka
                                                      .Include(pis => pis.OdjeljenjeStavka)
                                                      .Include(pis => pis.OdjeljenjeStavka.Ucenik)
                                                      .Where(pis => pis.Id == popravniIspitStavkaId)
                                                      .First();

            popravniIspitStavka.Bodovi = bodovi;

            _context.Update(popravniIspitStavka);
            _context.SaveChanges();

            return(RedirectToAction("UrediPopravniIspit", new { popravniIspitId = popravniIspitStavka.PopravniIspitId }));
        }
Esempio n. 11
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Naziv,Opis")] TipSobe tipSobe)
        {
            if (id != tipSobe.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tipSobe);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TipSobeExists(tipSobe.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(tipSobe));
        }
        public IActionResult Zakljucaj(int id)
        {
            Ispit i = db.Ispit.Find(id);

            if (i != null)
            {
                if (i.EvidentiraniRezultati == null || i.EvidentiraniRezultati == false)
                {
                    i.EvidentiraniRezultati = true;
                    db.Update(i);
                    db.SaveChanges();
                }
                return(Redirect("/Ispiti/Prikazi/" + i.AngazovanId));
            }
            return(Redirect("Index"));
        }
Esempio n. 13
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Naziv,Opis,Cijena,TipCijene,TipUsluge,Slika")] Usluge usluge)
        {
            if (id != usluge.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(usluge);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UslugeExists(usluge.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(usluge));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,TipSobeID,TipNamjestaja,Kolicina")] TipSobeNamjestaj tipSobeNamjestaj)
        {
            if (id != tipSobeNamjestaj.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    db.Update(tipSobeNamjestaj);
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TipSobeNamjestajExists(tipSobeNamjestaj.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index), new { TipSobeId = tipSobeNamjestaj.TipSobeID }));
            }
            ViewData["TipSobeID"] = new SelectList(db.TipSobe, "Id", "Naziv", tipSobeNamjestaj.TipSobeID);
            return(View(tipSobeNamjestaj));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Ime,Opis,Cijena,JeUkljucen,Slika")] Dodaci dodaci)
        {
            if (id != dodaci.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(dodaci);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DodaciExists(dodaci.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(dodaci));
        }
Esempio n. 16
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,BrojSobe,BrojSprata,Cijena,TipSobeID,")] Sobe sobe)
        {
            if (id != sobe.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sobe);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SobeExists(sobe.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipSobeID"] = new SelectList(_context.TipSobe, "Id", "Naziv", sobe.TipSobeID);
            return(View(sobe));
        }
Esempio n. 17
0
        public ActionResult Dodaj(OdjeljenjeDodajVM model)
        {
            Odjeljenje novo = new Odjeljenje
            {
                NastavnikID               = model.NastavnikId,
                Oznaka                    = model.Oznaka,
                SkolskaGodina             = model.SkolskaGodina,
                Razred                    = model.Razred,
                IsPrebacenuViseOdjeljenje = false,
            };

            db.Add(novo);
            db.SaveChanges();
            if (model.OdjeljenjeId != 0)
            {
                Odjeljenje staro = db.Odjeljenje.Where(i => i.Id == model.OdjeljenjeId).SingleOrDefault();
                if (staro != null)
                {
                    staro.IsPrebacenuViseOdjeljenje = true;
                    db.Update(staro);
                    db.SaveChanges();

                    List <OdjeljenjeStavka> stavke = db.OdjeljenjeStavka
                                                     .Where(o => o.OdjeljenjeId == staro.Id &&
                                                            (db.DodjeljenPredmet.Where(c => c.OdjeljenjeStavka.UcenikId == o.UcenikId)
                                                             .Count(c => c.ZakljucnoKrajGodine == 1) == 0)).OrderBy(o => o.Ucenik.ImePrezime).ToList();
                    int brDnevnik = 1;

                    List <Predmet> predmeti = db.Predmet.Where(p => p.Razred == novo.Razred).ToList();
                    foreach (var item in stavke)
                    {
                        OdjeljenjeStavka stavka = new OdjeljenjeStavka
                        {
                            BrojUDnevniku = brDnevnik++,
                            OdjeljenjeId  = novo.Id,
                            UcenikId      = item.UcenikId,
                        };

                        db.Add(stavka);
                        db.SaveChanges();

                        foreach (var it in predmeti)
                        {
                            DodjeljenPredmet novi = new DodjeljenPredmet
                            {
                                OdjeljenjeStavkaId   = stavka.Id,
                                PredmetId            = it.Id,
                                ZakljucnoKrajGodine  = 0,
                                ZakljucnoPolugodiste = 0
                            };
                            db.Add(novi);
                            db.SaveChanges();
                        }
                    }
                }
                return(Redirect("Index"));
            }

            return(View(model));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,VaziDo,BrojKartice,CVV,TipKarticeID")] KreditneKartice kreditneKartice)
        {
            if (id != kreditneKartice.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(kreditneKartice);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!KreditneKarticeExists(kreditneKartice.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipKarticeID"] = new SelectList(_context.TipKartice, "Id", "Naziv", kreditneKartice.TipKarticeID);
            return(View(kreditneKartice));
        }
Esempio n. 19
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Ime,Opis,Cijena,Slika")] Hrana jela)
        {
            if (id != jela.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(jela);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!JelaExists(jela.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(jela));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,NamjestajID,TipSobeID")] TipSobeMoguciNamjestaj tipSobeMoguciNamjestaj)
        {
            if (id != tipSobeMoguciNamjestaj.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tipSobeMoguciNamjestaj);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TipSobeMoguciNamjestajExists(tipSobeMoguciNamjestaj.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["NamjestajID"] = new SelectList(_context.Namjestaj, "Id", "Ime", tipSobeMoguciNamjestaj.NamjestajID);
            ViewData["TipSobeID"]   = new SelectList(_context.TipSobe, "Id", "Naziv", tipSobeMoguciNamjestaj.TipSobeID);
            return(View(tipSobeMoguciNamjestaj));
        }
        public async Task <IActionResult> UcesnikJePristupio(int takmicenjeUcesnikId)
        {
            var takmicenjeUcesnik = await _context.TakmicenjeUcesnici.FindAsync(takmicenjeUcesnikId);

            if (takmicenjeUcesnik == null)
            {
                return(BadRequest("Ucesnik nije pronadjen."));
            }

            takmicenjeUcesnik.IsPristupio = true;

            _context.Update(takmicenjeUcesnik);

            await _context.SaveChangesAsync();

            return(ViewComponent("SingleRezultatTakmicenja", new{ takmicenjeUcesnikId = takmicenjeUcesnikId }));
        }
        public IActionResult Bodovi(int id, float bodovi)
        {
            MaturskiIspitStavka m = db.MaturskiIspitStavka.Find(id);

            if (m != null)
            {
                if (bodovi >= 0 && bodovi <= 100)
                {
                    m.RezultatIspita = bodovi;
                    m.Prisutan       = true;
                    db.Update(m);
                    db.SaveChanges();
                    return(Redirect("/AjaxTest/Prikazi/" + m.MaturskiIspitId));
                }
            }
            return(Redirect("Greska"));
        }
Esempio n. 23
0
 public IActionResult Edit(CasoviDodajVM model)
 {
     if (ModelState.IsValid)
     {
         Angazovan  a = db.Angazovan.Find(model.AngazovanId);
         OdrzaniCas o = db.OdrzaniCas.Find(model.OdrzanCasId);
         a.Id          = model.AngazovanId;
         o.AngazovanId = model.AngazovanId;
         o.datum       = model.Datum ?? default(DateTime);
         db.Update(a);
         db.Update(o);
         db.SaveChanges();
         return(Redirect("/Casovi/Detalji/" + model.NastavnikId));
     }
     LoadViewBag(model.NastavnikId);
     return(View(model));
 }
Esempio n. 24
0
        public async Task <IActionResult> Snimi(OdrzaniCasInputVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { ModelStateErrors = ModelState.Values.SelectMany(x => x.Errors) }));
            }

            if (model.Id.HasValue)
            {
                var odrzaniCasFromDb = await _context.OdrzaniCasovi.FindAsync(model.Id.Value);

                if (odrzaniCasFromDb == null)
                {
                    return(NotFound("Odrzani cas nije pronadjen."));
                }

                odrzaniCasFromDb.datum       = model.DatumOdrzanogCasa;
                odrzaniCasFromDb.AngazovanId = model.AngazovanId;

                _context.Update(odrzaniCasFromDb);
            }
            else
            {
                var noviOdrzaniCas = new OdrzaniCas
                {
                    datum       = model.DatumOdrzanogCasa,
                    AngazovanId = model.AngazovanId
                };

                var dodavanjeCasaResult = await _odrzaniCasService.DodajCas(noviOdrzaniCas);

                if (!dodavanjeCasaResult.Success)
                {
                    return(BadRequest(new
                    {
                        Error = dodavanjeCasaResult.Message,
                        Message = "Dodavanje casa neuspjesno."
                    }));
                }
            }

            await _context.SaveChangesAsync();

            return(Ok("Uspjesno evidentiran odrzani cas."));
        }
Esempio n. 25
0
        public void ZakljucajUputnicu(int uputnicaId)
        {
            Uputnica uputnica = _context.Uputnica.Find(uputnicaId);

            uputnica.IsGotovNalaz = true;

            _context.Update(uputnica);
            _context.SaveChanges();
        }
Esempio n. 26
0
        public async Task <IActionResult> EvidencijaSnimi(RezultatPretrageInputVM model)
        {
            int decryptedId = int.Parse(_protector.Unprotect(model.Id));

            var rezultatPretrage = await _context.RezultatPretrage
                                   .Include(x => x.LabPretraga)
                                   .FirstOrDefaultAsync(x => x.Id == decryptedId);

            if (rezultatPretrage == null)
            {
                return(BadRequest("Rezultat pretrage nije pronadjen."));
            }

            if (model.ModalitetId != null)
            {
                rezultatPretrage.ModalitetId = model.ModalitetId;
            }
            else
            {
                rezultatPretrage.NumerickaVrijednost = model.IzmjerenaVrijednost;
            }

            _context.Update(rezultatPretrage);
            await _context.SaveChangesAsync();

            if (model.ModalitetId != null)
            {
                var modalitet = await _context.FindAsync <Modalitet>(model.ModalitetId);

                return(Ok(
                           new
                {
                    Vrijednost = modalitet?.Opis ?? "",
                    IsReferentna = modalitet?.IsReferentnaVrijednost ?? false
                }));
            }
            return(Ok(new
            {
                Vrijednost = rezultatPretrage.NumerickaVrijednost?.ToString() ?? "",
                IsReferentna = rezultatPretrage.NumerickaVrijednost <= rezultatPretrage.LabPretraga.ReferentnaVrijednostMax &&
                               rezultatPretrage.NumerickaVrijednost >= rezultatPretrage.LabPretraga.ReferentnaVrijednostMin
            }));
        }
        public IActionResult Uredi(AjaxTestUrediVM model)
        {
            FakturaStavka stavka = db.FakturaStavka.Find(model.StavkaId);

            stavka.Kolicina   = model.Kolicina;
            stavka.ProizvodID = model.ProizvodId;
            db.Update(stavka);
            db.SaveChanges();

            return(Redirect("/AjaxTest/Detalji/" + stavka.FakturaID));
        }
        public IActionResult Uredi(AjaxTestUrediVM model)
        {
            RezultatPretrage r = db.RezultatPretrage.Where(x => x.Id == model.RezultatId).Include(d => d.LabPretraga).Include(d => d.Modalitet).SingleOrDefault();

            if (r != null)
            {
                if (r.LabPretraga.VrstaVr == VrstaVrijednosti.Modalitet)
                {
                    r.ModalitetId = model.ModalitetId;
                }
                else
                {
                    r.NumerickaVrijednost = model.NumerickaVrijednost;
                }
                db.Update(r);
                db.SaveChanges();
                return(Redirect("/AjaxTest/Detalji/" + r.UputnicaId));
            }
            LoadViewBag(db.Modalitet.Where(x => x.LabPretragaId == r.LabPretragaId).ToList());
            return(PartialView(model));
        }
Esempio n. 29
0
        public IActionResult Edit(OdrzanaNastavaEditVM model)
        {
            OdrzanCas o = db.OdrzanCas.Where(x => x.Id == model.OdrzanCasId).Include(x => x.PredajePredmet).SingleOrDefault();

            if (o != null)
            {
                o.SadrzajCasa = model.SadrzajCasa;
                db.Update(o);
                db.SaveChanges();
            }
            return(Redirect("/OdrzanaNastava/Index"));
        }
Esempio n. 30
0
        public IActionResult Edit(AjaxTestEditVM model)
        {
            OdrzanCasDetalj o = db.OdrzanCasDetalj.Where(x => x.Id == model.OdzanCasDetaljId).Include(d => d.OdrzanCas).ThenInclude(d => d.PredajePredmet).SingleOrDefault();

            if (o != null)
            {
                if (model.Prisutan)
                {
                    DodjeljenPredmet d = db.DodjeljenPredmet.Where(p => p.OdjeljenjeStavkaId == o.OdjeljenjeStavkaId && p.PredmetId == o.OdrzanCas.PredajePredmet.PredmetID).SingleOrDefault();
                    if (d == null)
                    {
                        DodjeljenPredmet novi = new DodjeljenPredmet
                        {
                            OdjeljenjeStavkaId  = o.OdjeljenjeStavkaId,
                            PredmetId           = o.OdrzanCas.PredajePredmet.PredmetID,
                            ZakljucnoKrajGodine = model.Ocjena,
                            ZakljucnoPopravni   = 0
                        };
                        db.Add(novi);
                    }
                    else
                    {
                        d.ZakljucnoKrajGodine = model.Ocjena;
                        db.Update(d);
                    }
                    db.SaveChanges();
                }
                else
                {
                    o.Napomena         = model.Napomena;
                    o.OpravdanoOdsutan = model.OpravdanoOdsutan;
                    db.Update(o);
                    db.SaveChanges();
                }
                return(Redirect("/AjaxTest/Prikazi/" + o.OdrzanCasId));
            }

            return(Redirect("/OdrzanaNastava/Index"));
        }