Пример #1
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));
        }
Пример #2
0
        public IActionResult Snimi(OdjeljenjeDodajVM model)
        {
            Odjeljenje o2 = new Odjeljenje
            {
                IsPrebacenuViseOdjeljenje = false,
                NastavnikID   = model.RazrednikId,
                Oznaka        = model.Oznaka,
                Razred        = model.Razred,
                SkolskaGodina = model.SkolskaGodina
            };

            _context.Odjeljenje.Add(o2);
            _context.SaveChanges();

            Odjeljenje o1 = _context.Odjeljenje.Find(model.NizeOdjeljenjeId);

            if (o1 != null)
            {
                o1.IsPrebacenuViseOdjeljenje = true;
                List <OdjeljenjeStavka> listaOS = _context.OdjeljenjeStavka.Where(os => os.OdjeljenjeId == o1.Id).ToList();

                foreach (var s1 in listaOS)
                {
                    int brojNegativnih = _context.DodjeljenPredmet.Where(dp => dp.OdjeljenjeStavkaId == s1.Id).Count(dp => dp.ZakljucnoKrajGodine == 1);

                    if (brojNegativnih == 0)
                    {
                        OdjeljenjeStavka s2 = new OdjeljenjeStavka
                        {
                            BrojUDnevniku = 0,
                            OdjeljenjeId  = o2.Id,
                            UcenikId      = s1.UcenikId
                        };
                        _context.OdjeljenjeStavka.Add(s2);
                        _context.SaveChanges();


                        List <Predmet> listaPredmeta = _context.Predmet.Where(p => p.Razred == o2.Razred).ToList();

                        foreach (var predmeti in listaPredmeta)
                        {
                            DodjeljenPredmet newDP = new DodjeljenPredmet
                            {
                                OdjeljenjeStavkaId   = s2.Id,
                                PredmetId            = predmeti.Id,
                                ZakljucnoKrajGodine  = 0,
                                ZakljucnoPolugodiste = 0
                            };
                            _context.DodjeljenPredmet.Add(newDP);
                            _context.SaveChanges();
                        }
                    }
                }
            }


            return(RedirectToAction("Index"));
        }
Пример #3
0
        public IActionResult Save(OdjeljenjeAddVM model)
        {
            Odjeljenje novoOdjeljenje = new Odjeljenje()
            {
                SkolskaGodina = model.SkolskaGodina,
                Razred        = model.Razred,
                Oznaka        = model.Oznaka,
                NastavnikID   = model.NastavnikID,
            };

            db.Odjeljenje.Add(novoOdjeljenje);

            if (model.NizeOdjeljenjeID != null)
            {
                Odjeljenje o = db.Odjeljenje.Where(x => x.Id == model.NizeOdjeljenjeID).FirstOrDefault();
                o.IsPrebacenuViseOdjeljenje = true;
                db.Odjeljenje.Update(o);

                var stavke = db.OdjeljenjeStavka.Where(x => x.OdjeljenjeId == o.Id).ToList();

                foreach (var s in stavke)
                {
                    var opciUspjeh = db.DodjeljenPredmet.Where(x => x.OdjeljenjeStavkaId == s.Id).Count(x => x.ZakljucnoKrajGodine == 1);

                    if (opciUspjeh == 0)
                    {
                        OdjeljenjeStavka noveStavke = new OdjeljenjeStavka()
                        {
                            OdjeljenjeId  = novoOdjeljenje.Id,
                            UcenikId      = s.UcenikId,
                            BrojUDnevniku = 0
                        };
                        db.OdjeljenjeStavka.Add(noveStavke);
                    }

                    var predmeti = db.Predmet.Where(x => x.Razred == novoOdjeljenje.Razred).ToList();

                    foreach (var p in predmeti)
                    {
                        DodjeljenPredmet noviDodjeljeniPredmet = new DodjeljenPredmet()
                        {
                            OdjeljenjeStavkaId   = s.Id,
                            PredmetId            = p.Id,
                            ZakljucnoKrajGodine  = 0,
                            ZakljucnoPolugodiste = 0
                        };
                        db.DodjeljenPredmet.Add(noviDodjeljeniPredmet);
                    }
                }
            }
            db.SaveChanges();
            return(Redirect(nameof(Index)));
        }
Пример #4
0
        public IActionResult Spremi(DodajOdjeljenjeVM model)
        {
            Odjeljenje odjeljenje = new Odjeljenje
            {
                NastavnikID               = model.RazrednikID,
                SkolskaGodina             = model.SkolskaGodina,
                IsPrebacenuViseOdjeljenje = false,
                Oznaka = model.Oznaka,
                Razred = model.Razred
            };

            _db.Add(odjeljenje);
            _db.SaveChanges();
            List <Predmet> predmeti = _db.Predmet.Where(x => x.Razred == model.Razred).ToList();

            if (model.NizeOdjeljenjeId.HasValue)
            {
                Odjeljenje nizeOdjeljenje = _db.Odjeljenje.Find(model.NizeOdjeljenjeId);
                nizeOdjeljenje.IsPrebacenuViseOdjeljenje = true;
                List <OdjeljenjeStavka> odjeljenjeStavka = _db.OdjeljenjeStavka.Where(x => x.OdjeljenjeId == model.NizeOdjeljenjeId).ToList();
                foreach (var x in odjeljenjeStavka)
                {
                    bool opciUspjeh = _db.DodjeljenPredmet.Where(d => d.OdjeljenjeStavkaId == x.Id && d.ZakljucnoKrajGodine == 1).Count() > 0 ? true : false;
                    if (opciUspjeh == false)
                    {
                        OdjeljenjeStavka stavka = new OdjeljenjeStavka
                        {
                            BrojUDnevniku = 0,
                            OdjeljenjeId  = odjeljenje.Id,
                            UcenikId      = x.UcenikId
                        };
                        _db.Add(stavka);
                        _db.SaveChanges();

                        foreach (var predmet in predmeti)
                        {
                            DodjeljenPredmet dodjeljenPredmet = new DodjeljenPredmet
                            {
                                OdjeljenjeStavkaId   = stavka.Id,
                                PredmetId            = predmet.Id,
                                ZakljucnoKrajGodine  = 0,
                                ZakljucnoPolugodiste = 0
                            };
                            _db.Add(dodjeljenPredmet);
                            _db.SaveChanges();
                        }
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
Пример #5
0
        public IActionResult Add(OdjeljenjeAddViewModel vm)
        {
            Odjeljenje o2 = vm.Odjeljenje;

            db.Odjeljenje.Add(o2);

            if (vm.IzabranoOdjeljenje != null)
            {
                Odjeljenje o1 = db.Odjeljenje.FirstOrDefault(x => x.Id == vm.IzabranoOdjeljenje);
                o1.IsPrebacenuViseOdjeljenje = true;
                db.Odjeljenje.Update(o1);

                List <OdjeljenjeStavka> odjeljenjeStavka = db.OdjeljenjeStavka.Where(x => x.OdjeljenjeId == o1.Id).ToList();

                foreach (var s1 in odjeljenjeStavka)
                {
                    int z = db.DodjeljenPredmet.Where(x => x.OdjeljenjeStavkaId == s1.Id).Count(x => x.ZakljucnoKrajGodine == 1);
                    if (z == 0)
                    {
                        OdjeljenjeStavka s2 = new OdjeljenjeStavka()
                        {
                            BrojUDnevniku = 0,
                            OdjeljenjeId  = o2.Id,
                            UcenikId      = s1.UcenikId
                        };

                        db.OdjeljenjeStavka.Add(s2);

                        List <Predmet> predmeti = db.Predmet.Where(k => k.Razred == o2.Razred).ToList();

                        foreach (var p in predmeti)
                        {
                            DodjeljenPredmet dodjeljenPredmet = new DodjeljenPredmet()
                            {
                                OdjeljenjeStavkaId   = s2.Id,
                                PredmetId            = p.Id,
                                ZakljucnoKrajGodine  = 0,
                                ZakljucnoPolugodiste = 0
                            };

                            db.DodjeljenPredmet.Add(dodjeljenPredmet);
                        }
                    }
                }
            }
            db.SaveChanges();
            return(RedirectToAction(nameof(Index)));
        }
Пример #6
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"));
        }
Пример #7
0
        public static void Izvrsi(MojContext context)
        {
            // Look for any Skola.
            if (context.Skola.Any())
            {
                return; // DB has been seeded
            }

            int maxRazredi    = 4;
            int maxPredmeti   = 10;
            int maxUcenici    = 15;
            int maxOdjeljenja = 2;

            var predmeti         = new List <Predmet>();
            var odjeljenja       = new List <Odjeljenje>();
            var skolskeGodine    = new List <SkolskaGodina>();
            var skole            = new List <Skola>();
            var odjeljenjeStavke = new List <OdjeljenjeStavka>();
            var ucenici          = new List <Ucenik>();
            var predajePredmete  = new List <PredajePredmet>();
            var nastavnici       = new List <Nastavnik>();
            var dodjeljenPredmet = new List <DodjeljenPredmet>();

            for (int i = 1; i <= maxRazredi; i++)
            {
                predmeti.Add(new Predmet {
                    Naziv = "Informtika", Razred = i
                });
                predmeti.Add(new Predmet {
                    Naziv = "Matematika", Razred = i
                });
                predmeti.Add(new Predmet {
                    Naziv = "Fizika", Razred = i
                });
            }

            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = false, Naziv = "2018/19"
            });
            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = false, Naziv = "2019/20"
            });
            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = true, Naziv = "2020/21"
            });

            skole.Add(new Skola()
            {
                Naziv = "I Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "II Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "III Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "IV Srednja škola Mostar"
            });


            int nBrojac = 0;

            foreach (Skola s in skole)
            {
                for (int i = 1; i <= 15; i++)
                {
                    nastavnici.Add(new Nastavnik
                    {
                        Skola   = s,
                        Ime     = MyRandomExtensions.MyRandomString(4),
                        Prezime = MyRandomExtensions.MyRandomString(4),
                    });
                }


                foreach (SkolskaGodina skolskaGodina in skolskeGodine)
                {
                    for (int bRazred = 1; bRazred <= maxRazredi; bRazred++)
                    {
                        for (int bOdjeljenja = 1; bOdjeljenja < maxOdjeljenja; bOdjeljenja++)
                        {
                            Odjeljenje newOdjeljenje =
                                new Odjeljenje()
                            {
                                SkolskaGodina = skolskaGodina,
                                Oznaka        = bRazred + "-" + bOdjeljenja,
                                Razred        = bRazred,
                                Skola         = s,
                                Razrednik     = nastavnici.MyRandom()
                            };
                            odjeljenja.Add(newOdjeljenje);

                            foreach (Predmet p in predmeti.Where(p => newOdjeljenje.Razred == bRazred))
                            {
                                predajePredmete.Add(new PredajePredmet
                                {
                                    Predmet    = p,
                                    Odjeljenje = newOdjeljenje,
                                    Nastavnik  = nastavnici.Where(w => w.Skola == s).ToList().MyRandom()
                                });
                            }

                            for (int bUcenik = 1; bUcenik <= maxUcenici; bUcenik++)
                            {
                                Ucenik ucenik = new Ucenik()
                                {
                                    ImePrezime = MyRandomExtensions.MyRandomString(5),
                                };

                                ucenici.Add(ucenik);

                                OdjeljenjeStavka odjeljenjeStavka = new OdjeljenjeStavka
                                {
                                    Ucenik        = ucenik,
                                    Odjeljenje    = newOdjeljenje,
                                    BrojUDnevniku = bUcenik,
                                };
                                odjeljenjeStavke.Add(odjeljenjeStavka);
                                foreach (Predmet p in predmeti.Where(q => q.Razred == bRazred))
                                {
                                    int zakljucnoKrajGodine = MyRandomExtensions.RandomOcjena();


                                    DodjeljenPredmet dp = new DodjeljenPredmet()
                                    {
                                        Predmet             = p,
                                        OdjeljenjeStavka    = odjeljenjeStavka,
                                        ZakljucnoKrajGodine = zakljucnoKrajGodine,
                                    };
                                    dodjeljenPredmet.Add(dp);
                                }
                            }
                        }
                    }
                }
            }
            context.Nastavnik.AddRange(nastavnici);
            context.Predmet.AddRange(predmeti);
            context.Odjeljenje.AddRange(odjeljenja);
            context.SkolskaGodina.AddRange(skolskeGodine);
            context.Skola.AddRange(skole);
            context.OdjeljenjeStavka.AddRange(odjeljenjeStavke);
            context.Ucenik.AddRange(ucenici);
            context.PredajePredmet.AddRange(predajePredmete);
            context.Nastavnik.AddRange(nastavnici);
            context.DodjeljenPredmet.AddRange(dodjeljenPredmet);
            context.SaveChanges();
        }
        public static void Izvrsi(MojContext context)
        {
            // Look for any Skola.
            if (context.Skola.Any())
            {
                return; // DB has been seeded
            }

            int maxRazredi    = 4;
            int maxPredmeti   = 10;
            int maxUcenici    = 15;
            int maxOdjeljenja = 2;

            var predmeti         = new List <SelectListItem>();
            var odjeljenja       = new List <Odjeljenje>();
            var skolskeGodine    = new List <SkolskaGodina>();
            var skole            = new List <Skola>();
            var odjeljenjeStavke = new List <OdjeljenjeStavka>();
            var ucenici          = new List <Ucenik>();
            var predajePredmete  = new List <PredajePredmet>();
            var nastavnici       = new List <Nastavnik>();
            var dodjeljenPredmet = new List <DodjeljenPredmet>();

            for (int i = 1; i <= maxRazredi; i++)
            {
                predmeti.Add(new SelectListItem {
                    Naziv = "Informtika", Razred = i
                });
                predmeti.Add(new SelectListItem {
                    Naziv = "Matematika", Razred = i
                });
                predmeti.Add(new SelectListItem {
                    Naziv = "Fizika", Razred = i
                });
            }

            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = false, Naziv = "2018/19"
            });
            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = false, Naziv = "2019/20"
            });
            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = true, Naziv = "2020/21"
            });

            skole.Add(new Skola()
            {
                Naziv = "I Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "II Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "III Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "IV Srednja škola Mostar"
            });


            int nBrojac = 0;

            foreach (Skola s in skole)
            {
                for (int i = 1; i <= 15; i++)
                {
                    nastavnici.Add(new Nastavnik
                    {
                        Skola   = s,
                        Ime     = MyRandomExtensions.MyRandomString(4),
                        Prezime = MyRandomExtensions.MyRandomString(4),
                    });
                }



                foreach (SkolskaGodina skolskaGodina in skolskeGodine)
                {
                    for (int bRazred = 1; bRazred <= maxRazredi; bRazred++)
                    {
                        for (int bOdjeljenja = 1; bOdjeljenja < maxOdjeljenja; bOdjeljenja++)
                        {
                            Odjeljenje newOdjeljenje =
                                new Odjeljenje()
                            {
                                SkolskaGodina = skolskaGodina,
                                Oznaka        = bRazred + "-" + bOdjeljenja,
                                Razred        = bRazred,
                                Skola         = s,
                                Razrednik     = nastavnici.MyRandom()
                            };
                            odjeljenja.Add(newOdjeljenje);

                            foreach (SelectListItem p in predmeti.Where(p => newOdjeljenje.Razred == bRazred))
                            {
                                predajePredmete.Add(new PredajePredmet
                                {
                                    Predmet    = p,
                                    Odjeljenje = newOdjeljenje,
                                    Nastavnik  = nastavnici.Where(w => w.Skola == s).ToList().MyRandom()
                                });
                            }

                            for (int bUcenik = 1; bUcenik <= maxUcenici; bUcenik++)
                            {
                                Ucenik ucenik = new Ucenik()
                                {
                                    ImePrezime = MyRandomExtensions.MyRandomString(5),
                                };

                                ucenici.Add(ucenik);

                                OdjeljenjeStavka odjeljenjeStavka = new OdjeljenjeStavka
                                {
                                    Ucenik        = ucenik,
                                    Odjeljenje    = newOdjeljenje,
                                    BrojUDnevniku = bUcenik,
                                };
                                odjeljenjeStavke.Add(odjeljenjeStavka);
                                foreach (SelectListItem p in predmeti.Where(q => q.Razred == bRazred))
                                {
                                    int zakljucnoKrajGodine = MyRandomExtensions.RandomOcjena();


                                    DodjeljenPredmet dp = new DodjeljenPredmet()
                                    {
                                        Predmet             = p,
                                        OdjeljenjeStavka    = odjeljenjeStavka,
                                        ZakljucnoKrajGodine = zakljucnoKrajGodine,
                                    };
                                    dodjeljenPredmet.Add(dp);
                                }
                            }
                        }
                    }
                }
            }
            context.Nastavnik.AddRange(nastavnici);
            context.Predmet.AddRange(predmeti);
            context.Odjeljenje.AddRange(odjeljenja);
            context.SkolskaGodina.AddRange(skolskeGodine);
            context.Skola.AddRange(skole);
            context.OdjeljenjeStavka.AddRange(odjeljenjeStavke);
            context.Ucenik.AddRange(ucenici);
            context.PredajePredmet.AddRange(predajePredmete);
            context.Nastavnik.AddRange(nastavnici);
            context.DodjeljenPredmet.AddRange(dodjeljenPredmet);
            context.SaveChanges();
            var skoleC = context.Skola.ToList();

            foreach (var item in skoleC)
            {
                var pred              = context.Predmet;
                var takmicenja        = new List <Takmicenje>();
                var takmicenjeUcesnik = new List <TakmicenjeUcesnik>();
                for (int j = 0; j < pred.Count(); j++)
                {
                    var predmet = pred.ToList().MyRandom();
                    takmicenja.Add(new Takmicenje
                    {
                        SkolaId   = item.Id,
                        PredmetId = predmet.Id,
                        Datum     = DateTime.Now,
                        Razred    = predmet.Razred,
                        Zakljucaj = false
                    });
                }
                context.Takmicenje.AddRange(takmicenja);
                context.SaveChanges();

                var odje = context.OdjeljenjeStavka.ToList();
                var takm = context.Takmicenje.ToList();
                for (int i = 0; i < 50; i++)
                {
                    takmicenjeUcesnik.Add(new TakmicenjeUcesnik
                    {
                        TakmicenjeId       = takm.MyRandom().Id,
                        OdjeljenjeStavkaId = odje.MyRandom().Id,
                        Pristupio          = new List <bool> {
                            true, false
                        }.MyRandom(),
                        Bodovi = MyRandomExtensions.RandomBodova()
                    });
                }
                context.TakmicenjeUcesnik.AddRange(takmicenjeUcesnik);
                context.SaveChanges();
                //Task.Delay(10000).Wait();
            }
        }
Пример #9
0
        public static void Izvrsi(MojContext context)
        {
            // Look for any Skola.
            if (context.Skola.Any())
            {
                return; // DB has been seeded
            }

            int maxRazredi    = 4;
            int maxPredmeti   = 10;
            int maxUcenici    = 15;
            int maxOdjeljenja = 2;

            var predmeti          = new List <Predmet>();
            var odjeljenja        = new List <Odjeljenje>();
            var skolskeGodine     = new List <SkolskaGodina>();
            var skole             = new List <Skola>();
            var odjeljenjeStavke  = new List <OdjeljenjeStavka>();
            var ucenici           = new List <Ucenik>();
            var predajePredmete   = new List <PredajePredmet>();
            var nastavnici        = new List <Nastavnik>();
            var dodjeljenPredmet  = new List <DodjeljenPredmet>();
            var odrzaniCas        = new List <OdrzaniCas>();
            var odrzanCasDetaljis = new List <OdrzanCasDetalji>();

            for (int i = 1; i <= maxRazredi; i++)
            {
                for (int j = 0; j < maxPredmeti; j++)
                {
                    predmeti.Add(new Predmet {
                        Naziv = MyRandomExtensions.MyRandomString(5), Razred = i
                    });
                }
            }

            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = false, Naziv = "2016/17"
            });
            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = true, Naziv = "2017/18"
            });

            skole.Add(new Skola()
            {
                Naziv = "I Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "II Srednja škola Mostar"
            });


            int nBrojac = 0;

            foreach (Skola s in skole)
            {
                for (int i = 1; i <= 15; i++)
                {
                    nastavnici.Add(new Nastavnik
                    {
                        Ime     = "Ime-" + nBrojac,
                        Prezime = "Prezime-" + nBrojac,
                    });
                    ++nBrojac;
                }


                foreach (SkolskaGodina skolskaGodina in skolskeGodine)
                {
                    for (int bRazred = 1; bRazred <= maxRazredi; bRazred++)
                    {
                        for (int bOdjeljenja = 1; bOdjeljenja < maxOdjeljenja; bOdjeljenja++)
                        {
                            Odjeljenje newOdjeljenje =
                                new Odjeljenje()
                            {
                                SkolskaGodina = skolskaGodina,
                                Oznaka        = bRazred + "-" + bOdjeljenja,
                                Razred        = bRazred,
                                Skola         = s,
                                Razrednik     = nastavnici.MyRandom()
                            };
                            odjeljenja.Add(newOdjeljenje);

                            foreach (Predmet p in predmeti.Where(p => newOdjeljenje.Razred == bRazred))
                            {
                                predajePredmete.Add(new PredajePredmet
                                {
                                    Predmet    = p,
                                    Odjeljenje = newOdjeljenje,
                                    Nastavnik  = nastavnici.ToList().MyRandom()
                                });
                            }

                            for (int bUcenik = 1; bUcenik <= maxUcenici; bUcenik++)
                            {
                                Ucenik ucenik = new Ucenik()
                                {
                                    ImePrezime = "Ucenik-" + bUcenik
                                };

                                ucenici.Add(ucenik);

                                OdjeljenjeStavka odjeljenjeStavka = new OdjeljenjeStavka
                                {
                                    Ucenik        = ucenik,
                                    Odjeljenje    = newOdjeljenje,
                                    BrojUDnevniku = bUcenik,
                                };
                                odjeljenjeStavke.Add(odjeljenjeStavka);
                                foreach (Predmet p in predmeti.Where(q => q.Razred == bRazred))
                                {
                                    int zakljucnoKrajGodine = MyRandomExtensions.dajOcjenu();


                                    DodjeljenPredmet dp = new DodjeljenPredmet()
                                    {
                                        Predmet             = p,
                                        OdjeljenjeStavka    = odjeljenjeStavka,
                                        ZakljucnoKrajGodine = zakljucnoKrajGodine,
                                        ZakljucnoPopravni   =
                                            zakljucnoKrajGodine == 1 ? MyRandomExtensions.dajOcjenu() : 0
                                    };
                                    dodjeljenPredmet.Add(dp);
                                }
                            }
                        }
                    }
                }
            }

            for (int i = 0; i < 20; i++)
            {
                odrzaniCas.Add(new OdrzaniCas
                {
                    Datum          = DateTime.Now,
                    PredajePredmet = predajePredmete.ToList().MyRandom(),
                    SadrzajaCasa   = "sadrzaj" + i,
                });
            }

            for (int i = 0; i < 40; i++)
            {
                odrzanCasDetaljis.Add(new OdrzanCasDetalji
                {
                    OdrzaniCas = odrzaniCas.ToList().MyRandom(),
                    Bodovi     = MyRandomExtensions.dajOcjenu(),
                    Napomena   = "napomena-" + i,
                    Ucenik     = ucenici.ToList().MyRandom(),
                    IsPrisutan = true,
                });
            }

            context.Nastavnik.AddRange(nastavnici);
            context.Predmet.AddRange(predmeti);
            context.Odjeljenje.AddRange(odjeljenja);
            context.SkolskaGodina.AddRange(skolskeGodine);
            context.Skola.AddRange(skole);
            context.OdjeljenjeStavka.AddRange(odjeljenjeStavke);
            context.Ucenik.AddRange(ucenici);
            context.PredajePredmet.AddRange(predajePredmete);
            context.Nastavnik.AddRange(nastavnici);
            context.DodjeljenPredmet.AddRange(dodjeljenPredmet);
            context.OdrzaniCas.AddRange(odrzaniCas);
            context.OdrzanCasDetalji.AddRange(odrzanCasDetaljis);
            context.SaveChanges();
        }
        public static void Izvrsi(MojContext context)
        {
            // Look for any Skola.
            if (context.Skola.Any())
            {
                return; // DB has been seeded
            }

            int maxRazredi    = 4;
            int maxPredmeti   = 10;
            int maxUcenici    = 15;
            int maxOdjeljenja = 2;

            var predmeti            = new List <Predmet>();
            var odjeljenja          = new List <Odjeljenje>();
            var skolskeGodine       = new List <SkolskaGodina>();
            var skole               = new List <Skola>();
            var odjeljenjeStavke    = new List <OdjeljenjeStavka>();
            var ucenici             = new List <Ucenik>();
            var predajePredmete     = new List <PredajePredmet>();
            var nastavnici          = new List <Nastavnik>();
            var dodjeljenPredmet    = new List <DodjeljenPredmet>();
            var maturskiIspiti      = new List <MaturskiIspit>();
            var maturskiIspitStavke = new List <MaturskiIspitStavka>();

            for (int i = 1; i <= maxRazredi; i++)
            {
                for (int j = 0; j < maxPredmeti; j++)
                {
                    predmeti.Add(new Predmet {
                        Naziv = MyRandomExtensions.MyRandomString(5), Razred = i
                    });
                }
            }

            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = false, Naziv = "2016/17"
            });
            skolskeGodine.Add(new SkolskaGodina {
                Aktuelna = true, Naziv = "2017/18"
            });

            skole.Add(new Skola()
            {
                Naziv = "I Srednja škola Mostar"
            });
            skole.Add(new Skola()
            {
                Naziv = "II Srednja škola Mostar"
            });


            foreach (Skola s in skole)
            {
                for (int i = 1; i <= 15; i++)
                {
                    nastavnici.Add(new Nastavnik
                    {
                        Ime     = MyRandomExtensions.MyRandomString(4),
                        Prezime = MyRandomExtensions.MyRandomString(4),
                    });
                }


                foreach (SkolskaGodina skolskaGodina in skolskeGodine)
                {
                    for (int bRazred = 1; bRazred <= maxRazredi; bRazred++)
                    {
                        for (int bOdjeljenja = 1; bOdjeljenja < maxOdjeljenja; bOdjeljenja++)
                        {
                            Odjeljenje newOdjeljenje =
                                new Odjeljenje()
                            {
                                SkolskaGodina = skolskaGodina,
                                Oznaka        = bRazred + "-" + bOdjeljenja,
                                Razred        = bRazred,
                                Skola         = s,
                                Razrednik     = nastavnici.MyRandom()
                            };
                            odjeljenja.Add(newOdjeljenje);

                            foreach (Predmet p in predmeti.Where(p => newOdjeljenje.Razred == bRazred))
                            {
                                predajePredmete.Add(new PredajePredmet
                                {
                                    Predmet    = p,
                                    Odjeljenje = newOdjeljenje,
                                    Nastavnik  = nastavnici.ToList().MyRandom()
                                });
                            }

                            for (int bUcenik = 1; bUcenik <= maxUcenici; bUcenik++)
                            {
                                Ucenik ucenik = new Ucenik()
                                {
                                    ImePrezime = MyRandomExtensions.MyRandomString(5)
                                };

                                ucenici.Add(ucenik);

                                OdjeljenjeStavka odjeljenjeStavka = new OdjeljenjeStavka
                                {
                                    Ucenik        = ucenik,
                                    Odjeljenje    = newOdjeljenje,
                                    BrojUDnevniku = bUcenik,
                                };
                                odjeljenjeStavke.Add(odjeljenjeStavka);
                                foreach (Predmet p in predmeti.Where(q => q.Razred == bRazred))
                                {
                                    int zakljucnoKrajGodine = MyRandomExtensions.dajOcjenu();


                                    DodjeljenPredmet dp = new DodjeljenPredmet()
                                    {
                                        Predmet             = p,
                                        OdjeljenjeStavka    = odjeljenjeStavka,
                                        ZakljucnoKrajGodine = zakljucnoKrajGodine,
                                    };
                                    dodjeljenPredmet.Add(dp);
                                }
                            }
                        }
                    }
                }
            }
            foreach (var nastavnik in nastavnici)
            {
                for (int i = 0; i < 10; i++)
                {
                    maturskiIspiti.Add(new MaturskiIspit
                    {
                        Datum     = DateTime.Now,
                        Skola     = skole.MyRandom(),
                        Nastavnik = nastavnik,
                        Predmet   = predmeti.MyRandom()
                    });
                }
            }
            foreach (var item in maturskiIspiti)
            {
                maturskiIspitStavke.Add(new MaturskiIspitStavka
                {
                    MaturskiIspit   = item,
                    PristupioIspitu = new List <bool> {
                        true, false
                    }.MyRandom(),
                    Ucenik        = ucenici.MyRandom(),
                    ProsjekOcjena = MyRandomExtensions.dajOcjenu(),
                    Rezultat      = MyRandomExtensions.dajOcjenu(),
                });
            }
            context.Nastavnik.AddRange(nastavnici);
            context.Predmet.AddRange(predmeti);
            context.Odjeljenje.AddRange(odjeljenja);
            context.SkolskaGodina.AddRange(skolskeGodine);
            context.Skola.AddRange(skole);
            context.OdjeljenjeStavka.AddRange(odjeljenjeStavke);
            context.Ucenik.AddRange(ucenici);
            context.PredajePredmet.AddRange(predajePredmete);
            context.DodjeljenPredmet.AddRange(dodjeljenPredmet);
            context.MaturskiIspit.AddRange(maturskiIspiti);
            context.MaturskiIspitStavka.AddRange(maturskiIspitStavke);
            context.SaveChanges();
        }