示例#1
0
        // GET: MaturskiIspit
        public ActionResult Index()
        {
            NastavnikLoginVM logiraniNastavnik     = HttpContext.GetLogiraniKorisnik();
            SkolskaGodina    aktuelnaSkolskaGodina = HttpContext.GetAktuelnaSkolskaGodina();

            if (logiraniNastavnik == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            var model = new MaturskiIspitIndexVM
            {
                Redovi = _context.MaturskiIspit.Where(w => w.Nastavnik.SkolaID == logiraniNastavnik.SkolaID).Select(s => new MaturskiIspitIndexVM.Red
                {
                    MaturskiIspitId = s.Id,
                    Datum           = s.Datum,
                    Skola           = s.Nastavnik.Skola.Naziv,
                    Predmet         = s.Predmet.Naziv,
                    Ispitivac       = s.Nastavnik.Ime,
                    ProsjecniBodovi = _context.MaturskiIspitStavka.Where(w => w.MaturskiIspitId == s.Id && w.PristupioIspitu == true).Average(a => (float?)a.Rezultat) ?? 0
                }).ToList()
            };

            return(View(model));
        }
示例#2
0
        public IActionResult Dodaj(int nastavnikID)
        {
            Nastavnik n = _context.Nastavnik.Find(nastavnikID);

            Odjeljenje    odjeljenje = _context.Odjeljenje.Where(e => e.RazrednikID == nastavnikID).FirstOrDefault();
            SkolskaGodina skolska    = _context.SkolskaGodina.Where(e => e.Id == odjeljenje.SkolskaGodinaID).FirstOrDefault();

            var model = new Ispit_DodajVM
            {
                nastavnikID = nastavnikID,
                nastavnik   = n.Ime + " " + n.Prezime,
                datum       = DateTime.Now,
                skolska     = skolska.Naziv,

                _predmeti = _context.Predmet.Select(e => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem
                {
                    Value = e.Id.ToString(),
                    Text  = e.Naziv
                }).ToList(),

                _skole = _context.Skola.Select(e => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem
                {
                    Value = e.Id.ToString(),
                    Text  = e.Naziv
                }).ToList()
            };

            return(View(model));
        }
示例#3
0
        public IActionResult PopravniIspitIndex(IndexVM tempModel)
        {
            SkolskaGodina skolskaGodina = db.SkolskaGodina.Where(x => x.Id == tempModel.SkolskaGodinaID).FirstOrDefault();

            Skola skola = db.Skola.Where(x => x.Id == tempModel.SkolaID).FirstOrDefault();

            Predmet predmet = db.Predmet.Where(x => x.Id == tempModel.PredmetID).FirstOrDefault();

            PopravniIspitIndexVM model = new PopravniIspitIndexVM()
            {
                PredmetID       = tempModel.PredmetID,
                Predmet         = predmet.Naziv,
                SkolaID         = tempModel.SkolaID,
                Skola           = skola.Naziv,
                SkolskaGodinaID = tempModel.SkolskaGodinaID,
                SkolskaGodina   = skolskaGodina.Naziv,
                Rows            = db.PopravniIspit.Where(x => x.SkolskaGodinaID == tempModel.SkolskaGodinaID && x.SkolaID == tempModel.SkolaID && x.PredmetID == tempModel.PredmetID)
                                  .Select(x => new PopravniIspitIndexVM.Row()
                {
                    PopravniIspitID     = x.Id,
                    Datum               = x.Datum,
                    Predmet             = x.Predmet.Naziv,
                    BrojUcenika         = db.PopravniIspitStavke.Where(y => y.PopravniIspitID == x.Id && y.Pristup == true).Count(),
                    BrojUcenikaPolozeno = db.PopravniIspitStavke.Where(y => y.PopravniIspitID == x.Id && y.Bodovi > 50).Count()
                }).ToList()
            };

            return(View(model));
        }
示例#4
0
        public async Task <IActionResult> Edit(int id, [Bind("SkolskaGodinaId,Godina")] SkolskaGodina skolskaGodina)
        {
            if (id != skolskaGodina.SkolskaGodinaId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(skolskaGodina);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SkolskaGodinaExists(skolskaGodina.SkolskaGodinaId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(skolskaGodina));
        }
示例#5
0
 public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
 {
     if (int.Parse(SkolskaGodina.Substring(0, 4)) < DateTime.Now.Year - 6)
     {
         yield return(new ValidationResult("Skolska godina mora biti veca od trenutne trenutne godine."));
     }
 }
示例#6
0
        public async Task <IActionResult> Create([Bind("SkolskaGodinaId,Godina")] SkolskaGodina skolskaGodina)
        {
            if (ModelState.IsValid)
            {
                _context.Add(skolskaGodina);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(skolskaGodina));
        }
示例#7
0
        // GET: SkolskaGodina/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SkolskaGodina skolskaGodina = db.SkolskaGodinas.Find(id);

            if (skolskaGodina == null)
            {
                return(HttpNotFound());
            }
            return(View(skolskaGodina));
        }
示例#8
0
        public ActionResult Delete(int id)
        {
            try
            {
                SkolskaGodina skolskaGodina = db.SkolskaGodinas.Find(id);
                db.SkolskaGodinas.Remove(skolskaGodina);
                db.SaveChanges();
            }

            catch (DataException /* dex */)
            {
                //Log the error (uncomment dex variable name and add a line here to write a log.
                return(RedirectToAction("Delete", new { id = id, saveChangesError = true }));
            }
            return(RedirectToAction("Index"));
        }
示例#9
0
        // GET: SkolskaGodina/Delete/5
        public ActionResult Delete(int?id, bool?saveChangesError = false)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (saveChangesError.GetValueOrDefault())
            {
                ViewBag.ErrorMessage = "Brisanje nije uspelo. Pokušajte ponovo, i ako problem i dalje postoji, pozovite vaseg administratora sistema.";
            }
            SkolskaGodina skolskaGodina = db.SkolskaGodinas.Find(id);

            if (skolskaGodina == null)
            {
                return(HttpNotFound());
            }
            return(View(skolskaGodina));
        }
示例#10
0
        //GET
        private ActionResult Edit()
        {
            SkolskaGodina skolskaGodina = _context.SkolskaGodine
                                          .SingleOrDefault(s => s.Aktuelna == true);

            Polugodiste prvoPolugodiste = _context.Polugodista
                                          .SingleOrDefault(p => p.SkolskaGodinaId == skolskaGodina.SkolskaGodinaId && p.TipPolugodista == 1);

            Polugodiste drugoPolugodiste = _context.Polugodista
                                           .SingleOrDefault(p => p.SkolskaGodinaId == skolskaGodina.SkolskaGodinaId && p.TipPolugodista == 2);

            Tromesecje prvoTromesecje = _context.Tromesecja
                                        .SingleOrDefault(t => t.PolugodisteId == prvoPolugodiste.PolugodisteId && t.TipTromesecja == 1);

            Tromesecje drugoTromesecje = _context.Tromesecja
                                         .SingleOrDefault(t => t.PolugodisteId == prvoPolugodiste.PolugodisteId && t.TipTromesecja == 2);

            Tromesecje treceTromesecje = _context.Tromesecja
                                         .SingleOrDefault(t => t.PolugodisteId == drugoPolugodiste.PolugodisteId && t.TipTromesecja == 3);

            Tromesecje cetvrtoTromesecje = _context.Tromesecja
                                           .SingleOrDefault(t => t.PolugodisteId == drugoPolugodiste.PolugodisteId && t.TipTromesecja == 4);

            if (skolskaGodina == null)
            {
                return(HttpNotFound());
            }

            UpisTromesecjaStringViewModel tromesecjeVM = new UpisTromesecjaStringViewModel()
            {
                PrvoPocetak    = KonverizjaDatuma.izAmerickogUSrpski(prvoTromesecje.PocetakTromesecja),
                PrvoKraj       = KonverizjaDatuma.izAmerickogUSrpski(prvoTromesecje.KrajTromesecja),
                DrugoPocetak   = KonverizjaDatuma.izAmerickogUSrpski(drugoTromesecje.PocetakTromesecja),
                DrugoKraj      = KonverizjaDatuma.izAmerickogUSrpski(drugoTromesecje.KrajTromesecja),
                TrecePocetak   = KonverizjaDatuma.izAmerickogUSrpski(treceTromesecje.PocetakTromesecja),
                TreceKraj      = KonverizjaDatuma.izAmerickogUSrpski(treceTromesecje.KrajTromesecja),
                CetvrtoPocetak = KonverizjaDatuma.izAmerickogUSrpski(cetvrtoTromesecje.PocetakTromesecja),
                CetvrtoKraj    = KonverizjaDatuma.izAmerickogUSrpski(cetvrtoTromesecje.KrajTromesecja)
            };

            return(View(tromesecjeVM));
        }
示例#11
0
        public ActionResult Create([Bind(Include = "Opis_sg")] SkolskaGodina skolskaGodina)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    db.SkolskaGodinas.Add(skolskaGodina);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (DataException /* dex */)
            {
                //Prijavi gresku

                ModelState.AddModelError("", "Ne mogu da sacuvam promene. Pokusajte ponovo,a ako se problem i dalje javlja, obratite se administratoru.");
            }

            return(View(skolskaGodina));
        }
        public ActionResult Uredi(int popravniIspitId)
        {
            PopravniIspit p = _context.PopravniIspit.Where(pi => pi.Id == popravniIspitId)
                              .Include(pi => pi.Skola)
                              .Include(pi => pi.Predmet)
                              .Single();

            SkolskaGodina sg = _context.SkolskaGodina.Find(p.SkolskGodinaId);

            PopravniUrediVM model = new PopravniUrediVM
            {
                PopravniIspitId = p.Id,
                Datum           = p.Datum,
                Naziv           = p.Predmet.Naziv,
                Razred          = p.Predmet.Razred,
                Skola           = p.Skola.Naziv,
                SkolskaGodina   = sg.Naziv
            };

            return(View(model));
        }
示例#13
0
        public IActionResult Dodaj()
        {
            NastavnikLoginVM logiraniNastavnik     = HttpContext.GetLogiraniKorisnik();
            SkolskaGodina    aktuelnaSkolskaGodina = HttpContext.GetAktuelnaSkolskaGodina();

            var model = new MaturskiIspitDodajVM
            {
                Skola      = logiraniNastavnik.SkolaNaziv,
                Odjeljenja = _context.Odjeljenje.Where(w => w.Razred == 4 && w.SkolaID == logiraniNastavnik.SkolaID && w.SkolskaGodina.Aktuelna == true).Select(s => new SelectListItem
                {
                    Value = s.Id.ToString(),
                    Text  = s.Oznaka
                }).ToList(),
                Ispitivac     = logiraniNastavnik.ImePrezime,
                IspitivacId   = logiraniNastavnik.NastavnikId,
                SkolskaGodina = aktuelnaSkolskaGodina.Naziv,
                DatumIspita   = DateTime.Now
            };

            //lista predmeta (PredmetId) koje predaje nastavnik u aktuelnoj školskog godini
            var lista1 = _context.PredajePredmet.Where(w => w.NastavnikID == logiraniNastavnik.NastavnikId && w.Odjeljenje.SkolskaGodina.Aktuelna == true).Select(s => s.PredmetID).Distinct().ToList();
            //lista svih predmeta
            var lista2 = _context.Predmet.ToList();

            model.Predmeti = new List <SelectListItem>();

            foreach (var x in lista1)
            {
                foreach (var y in lista2)
                {
                    if (x == y.Id)
                    {
                        model.Predmeti.Add(new SelectListItem {
                            Value = y.Id.ToString(), Text = y.Naziv
                        });
                    }
                }
            }
            return(View(model));
        }
示例#14
0
        public IActionResult Add(int SkolaID, int SkolskaGodinaID, int PredmetID)
        {
            SkolskaGodina skolskaGodina = db.SkolskaGodina.Where(x => x.Id == SkolskaGodinaID).FirstOrDefault();

            Skola skola = db.Skola.Where(x => x.Id == SkolaID).FirstOrDefault();

            Predmet predmet = db.Predmet.Where(x => x.Id == PredmetID).FirstOrDefault();

            PopravniIspitAddVM model = new PopravniIspitAddVM()
            {
                SkolaID         = SkolaID,
                Skola           = skola.Naziv,
                SkolskaGodinaID = SkolskaGodinaID,
                SkolskaGodina   = skolskaGodina.Naziv,
                PredmetID       = PredmetID,
                Predmet         = predmet.Naziv,

                Nastavnik1 = db.Nastavnik.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem()
                {
                    Value = x.Id.ToString(),
                    Text  = x.Ime + " " + x.Prezime
                }).ToList(),

                Nastavnik2 = db.Nastavnik.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem()
                {
                    Value = x.Id.ToString(),
                    Text  = x.Ime + " " + x.Prezime
                }).ToList(),

                Nastavnik3 = db.Nastavnik.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem()
                {
                    Value = x.Id.ToString(),
                    Text  = x.Ime + " " + x.Prezime
                }).ToList(),
            };

            return(View(model));
        }
        private async Task SeedTestData(List <Ucenik> ucenici)
        {
            var _context = MojContextHelper.GetMojContext();

            MaturskiIspitService maturskiIspitService = new MaturskiIspitService(_context);

            Skola skola1 = new Skola {
                Naziv = "FIT Mostar"
            };
            SkolskaGodina skolskaGodina1 = new SkolskaGodina {
                Aktuelna = true, Naziv = "2017/18"
            };
            Nastavnik n1 = new Nastavnik {
                Ime = "Nastavnik1", Prezime = "PrezimeNastavnik1"
            };

            var predmeti = new List <Predmet>();

            for (int i = 0; i < 5; i++)
            {
                predmeti.Add(new Predmet {
                    Naziv = Guid.NewGuid().ToString(), Razred = 4
                });
            }

            await _context.AddAsync(skola1);

            await _context.AddAsync(skolskaGodina1);

            await _context.AddAsync(n1);

            await _context.AddRangeAsync(predmeti);

            await _context.SaveChangesAsync();

            Odjeljenje o1 = new Odjeljenje
            {
                IsPrebacenuViseOdjeljenje = false,
                Oznaka          = "IV-4",
                Razred          = 4,
                RazrednikID     = n1.Id,
                SkolskaGodinaID = skolskaGodina1.Id,
                SkolaID         = skola1.Id
            };

            await _context.AddRangeAsync(ucenici);

            await _context.AddAsync(o1);

            await _context.SaveChangesAsync();

            var odjeljenjeStavke = new List <OdjeljenjeStavka>();

            for (int i = 0; i < ucenici.Count(); i++)
            {
                odjeljenjeStavke.Add(new OdjeljenjeStavka
                {
                    BrojUDnevniku = i + 1,
                    OdjeljenjeId  = o1.Id,
                    UcenikId      = ucenici[i].Id
                });
            }

            await _context.AddRangeAsync(odjeljenjeStavke);

            await _context.SaveChangesAsync();

            var dodjeljeniPredmeti = new List <DodjeljenPredmet>();

            for (int j = 0; j < odjeljenjeStavke.Count() / 2; j++)
            {
                for (int i = 0; i < 5; i++)
                {
                    var ocjena = 1;

                    if (j == 0 && i < 4)
                    {
                        ocjena = 4;
                    }
                    else if (j == 1)
                    {
                        ocjena = 3;
                    }
                    else if (j == 2 && i < 3)
                    {
                        ocjena = 5;
                    }

                    dodjeljeniPredmeti.Add(new DodjeljenPredmet
                    {
                        OdjeljenjeStavkaId  = odjeljenjeStavke[j].Id,
                        PredmetId           = predmeti[i].Id,
                        ZakljucnoKrajGodine = ocjena
                    });
                }
            }

            for (int j = odjeljenjeStavke.Count() / 2; j < odjeljenjeStavke.Count() - 1; j++)
            {
                for (int i = 0; i < 5; i++)
                {
                    dodjeljeniPredmeti.Add(new DodjeljenPredmet
                    {
                        OdjeljenjeStavkaId  = odjeljenjeStavke[j].Id,
                        PredmetId           = predmeti[i].Id,
                        ZakljucnoKrajGodine = 5
                    });
                }
            }


            await _context.AddRangeAsync(dodjeljeniPredmeti);

            await _context.SaveChangesAsync();

            MaturskiIspit m1 = new MaturskiIspit
            {
                DatumOdrzavanja = DateTime.Now.AddDays(-20),
                Napomena        = string.Empty,
                NastavnikId     = n1.Id,
                PredmetId       = predmeti[0].Id,
                SkolaId         = skola1.Id,
                SkolskaGodinaId = skolskaGodina1.Id
            };

            MaturskiIspit m2 = new MaturskiIspit
            {
                DatumOdrzavanja = DateTime.Now.AddDays(-10),
                Napomena        = string.Empty,
                NastavnikId     = n1.Id,
                PredmetId       = predmeti[0].Id,
                SkolaId         = skola1.Id,
                SkolskaGodinaId = skolskaGodina1.Id
            };

            await _context.AddAsync(m1);

            await _context.SaveChangesAsync();

            var polaganja = new List <MaturskiIspitStavka>();

            polaganja.Add(new MaturskiIspitStavka
            {
                IsPristupio     = true,
                MaturskiIspitId = m1.Id,
                OsvojeniBodovi  = 50,
                UcenikId        = ucenici[3].Id
            });

            polaganja.Add(new MaturskiIspitStavka
            {
                IsPristupio     = true,
                MaturskiIspitId = m1.Id,
                OsvojeniBodovi  = 70,
                UcenikId        = ucenici[3].Id
            });

            polaganja.Add(new MaturskiIspitStavka
            {
                IsPristupio     = true,
                MaturskiIspitId = m1.Id,
                OsvojeniBodovi  = 75,
                UcenikId        = ucenici[4].Id
            });


            polaganja.Add(new MaturskiIspitStavka
            {
                IsPristupio     = true,
                MaturskiIspitId = m1.Id,
                OsvojeniBodovi  = 20,
                UcenikId        = ucenici[5].Id
            });

            await _context.AddRangeAsync(polaganja);

            await _context.SaveChangesAsync();
        }
示例#16
0
        private ActionResult Edit(UpisTromesecjaStringViewModel tromesecja)
        {
            SkolskaGodina skolskaGodina = _context.SkolskaGodine
                                          .SingleOrDefault(s => s.Aktuelna == true);

            Polugodiste prvoPolugodiste = _context.Polugodista
                                          .SingleOrDefault(p => p.SkolskaGodinaId == skolskaGodina.SkolskaGodinaId && p.TipPolugodista == 1);

            Polugodiste drugoPolugodiste = _context.Polugodista
                                           .SingleOrDefault(p => p.SkolskaGodinaId == skolskaGodina.SkolskaGodinaId && p.TipPolugodista == 2);

            Tromesecje prvoTromesecje = _context.Tromesecja
                                        .SingleOrDefault(t => t.PolugodisteId == prvoPolugodiste.PolugodisteId && t.TipTromesecja == 1);

            Tromesecje drugoTromesecje = _context.Tromesecja
                                         .SingleOrDefault(t => t.PolugodisteId == prvoPolugodiste.PolugodisteId && t.TipTromesecja == 2);

            Tromesecje treceTromesecje = _context.Tromesecja
                                         .SingleOrDefault(t => t.PolugodisteId == drugoPolugodiste.PolugodisteId && t.TipTromesecja == 3);

            Tromesecje cetvrtoTromesecje = _context.Tromesecja
                                           .SingleOrDefault(t => t.PolugodisteId == drugoPolugodiste.PolugodisteId && t.TipTromesecja == 4);

            if (ModelState.IsValid)
            {
                skolskaGodina.PocetakSkolskeGodine = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.PrvoPocetak);
                skolskaGodina.KrajSkolskeGodine    = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.CetvrtoKraj);

                prvoPolugodiste.PocetakPolugodista  = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.PrvoPocetak);
                prvoPolugodiste.KrajPolugodista     = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.DrugoKraj);
                drugoPolugodiste.PocetakPolugodista = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.TrecePocetak);
                drugoPolugodiste.KrajPolugodista    = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.CetvrtoKraj);

                prvoTromesecje.PocetakTromesecja    = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.PrvoPocetak);
                prvoTromesecje.KrajTromesecja       = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.PrvoKraj);
                drugoTromesecje.PocetakTromesecja   = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.DrugoPocetak);
                drugoTromesecje.KrajTromesecja      = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.DrugoKraj);
                treceTromesecje.PocetakTromesecja   = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.TrecePocetak);
                treceTromesecje.KrajTromesecja      = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.TreceKraj);
                cetvrtoTromesecje.PocetakTromesecja = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.CetvrtoPocetak);
                cetvrtoTromesecje.KrajTromesecja    = KonverizjaDatuma.izSrpskogUAmericki(tromesecja.CetvrtoKraj);
            }

            try
            {
                _context.SkolskaGodine.AddOrUpdate(skolskaGodina);
                _context.SaveChanges();

                _context.Polugodista.AddOrUpdate(prvoPolugodiste);
                _context.SaveChanges();

                _context.Polugodista.AddOrUpdate(drugoPolugodiste);
                _context.SaveChanges();

                _context.Tromesecja.AddOrUpdate(prvoTromesecje);
                _context.SaveChanges();

                _context.Tromesecja.AddOrUpdate(drugoTromesecje);
                _context.SaveChanges();

                _context.Tromesecja.AddOrUpdate(treceTromesecje);
                _context.SaveChanges();

                _context.Tromesecja.AddOrUpdate(cetvrtoTromesecje);
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }

            string poruka = "uspesno";

            tromesecja.Poruka = poruka;
            return(View(tromesecja));
        }
示例#17
0
        private ActionResult Create(UpisTromesecjaStringViewModel srpskiDatumi)
        {
            UpisTromesecjaViewModel podaci = new UpisTromesecjaViewModel()
            {
                PrvoPocetak    = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.PrvoPocetak),
                PrvoKraj       = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.PrvoKraj),
                DrugoPocetak   = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.DrugoPocetak),
                DrugoKraj      = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.DrugoKraj),
                TrecePocetak   = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.TrecePocetak),
                TreceKraj      = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.TreceKraj),
                CetvrtoPocetak = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.CetvrtoPocetak),
                CetvrtoKraj    = KonverizjaDatuma.izSrpskogUAmericki(srpskiDatumi.CetvrtoKraj),
                Poruka         = srpskiDatumi.Poruka
            };

            var poruka = ProveraGodina(podaci);

            if (poruka != "")
            {
                srpskiDatumi.Poruka = poruka;
                return(View(srpskiDatumi));
            }

            try
            {
                try
                {
                    var poslednjaSkolskaGodina = _context.SkolskaGodine.Single(x => x.PocetakSkolskeGodine.Year == DateTime.Now.Year);
                    if (poslednjaSkolskaGodina != null)
                    {
                        srpskiDatumi.Poruka = "Godina je vec upisana";
                        return(View(srpskiDatumi));
                    }
                }
                catch (Exception)
                {
                }

                //Pronalazi se stara skolska godina
                var staraSkolskaGodina = _context.SkolskaGodine.SingleOrDefault(s => s.Aktuelna == true);

                if (staraSkolskaGodina != null)
                {
                    //Vrednost stare skolske godine se setuje na false jer se upisuje nova
                    staraSkolskaGodina.Aktuelna = false;
                    _context.SkolskaGodine.AddOrUpdate(staraSkolskaGodina);
                    _context.SaveChanges();
                }


                var skolskaGodina = new SkolskaGodina()
                {
                    PocetakSkolskeGodine = podaci.PrvoPocetak, KrajSkolskeGodine = podaci.CetvrtoKraj, Aktuelna = true
                };
                _context.SkolskaGodine.Add(skolskaGodina);
                _context.SaveChanges();

                //uzimamo id od skolske godine da bi mogli da unesemo polugodista
                var skolskaGodinaId = _context.SkolskaGodine.Single(x => x.PocetakSkolskeGodine == podaci.PrvoPocetak).SkolskaGodinaId;

                var odeljenja = _context.Odeljenja.Where(o => o.SkolskaGodinaId == null && o.StatusID == 2)
                                .Select(o => o)
                                .ToList();
                if (odeljenja != null)
                {
                    //Dodeljuje se skolska godina odeljenima koja nemaju skolsku godinu
                    for (int i = 0; i < odeljenja.Count(); i++)
                    {
                        var odeljenje = odeljenja.ElementAt(i);
                        odeljenje.SkolskaGodinaId = skolskaGodina.SkolskaGodinaId;
                        _context.Odeljenja.AddOrUpdate(odeljenje);
                        _context.SaveChanges();
                    }
                }

                var prvoPolugodiste = new Polugodiste()
                {
                    PocetakPolugodista = podaci.PrvoPocetak,
                    KrajPolugodista    = podaci.DrugoKraj,
                    SkolskaGodinaId    = skolskaGodinaId,
                    TipPolugodista     = 1
                };

                _context.Polugodista.Add(prvoPolugodiste);
                _context.SaveChanges();

                var drugoPolugodiste = new Polugodiste()
                {
                    PocetakPolugodista = podaci.TrecePocetak,
                    KrajPolugodista    = podaci.CetvrtoKraj,
                    SkolskaGodinaId    = skolskaGodinaId,
                    TipPolugodista     = 2
                };

                _context.Polugodista.Add(drugoPolugodiste);
                _context.SaveChanges();

                // uzimamo id od polugodista da bi mogli da unesemo tromesecja
                var prvoPolugodisteId  = _context.Polugodista.Single(x => x.PocetakPolugodista == podaci.PrvoPocetak).PolugodisteId;
                var drugoPolugodisteId = _context.Polugodista.Single(x => x.PocetakPolugodista == podaci.TrecePocetak).PolugodisteId;

                var prvoTromesecje = new Tromesecje()
                {
                    PolugodisteId     = prvoPolugodisteId,
                    PocetakTromesecja = podaci.PrvoPocetak,
                    KrajTromesecja    = podaci.PrvoKraj,
                    TipTromesecja     = 1
                };

                _context.Tromesecja.Add(prvoTromesecje);
                _context.SaveChanges();

                var drugoTromesecje = new Tromesecje()
                {
                    PolugodisteId     = prvoPolugodisteId,
                    PocetakTromesecja = podaci.DrugoPocetak,
                    KrajTromesecja    = podaci.DrugoKraj,
                    TipTromesecja     = 2
                };

                _context.Tromesecja.Add(drugoTromesecje);
                _context.SaveChanges();

                var treceTromesecje = new Tromesecje()
                {
                    PolugodisteId     = drugoPolugodisteId,
                    PocetakTromesecja = podaci.TrecePocetak,
                    KrajTromesecja    = podaci.TreceKraj,
                    TipTromesecja     = 3
                };

                _context.Tromesecja.Add(treceTromesecje);
                _context.SaveChanges();

                var cetvrtoTromesecje = new Tromesecje()
                {
                    PolugodisteId     = drugoPolugodisteId,
                    PocetakTromesecja = podaci.CetvrtoPocetak,
                    KrajTromesecja    = podaci.CetvrtoKraj,
                    TipTromesecja     = 4
                };

                _context.Tromesecja.Add(cetvrtoTromesecje);
                _context.SaveChanges();
            }
            catch (Exception)
            {
                srpskiDatumi.Poruka = "Greška pri upisu u bazu";
                return(View(srpskiDatumi));
            }

            poruka = "uspesno";
            srpskiDatumi.Poruka = poruka;
            return(View(srpskiDatumi));
        }