public IActionResult TakmicenjeIndex(TakmicenjeFormVM tempModel)
        {
            Skola skola = db.Skola.Find(tempModel.SkolaID);

            TakmicenjeIndexVM model = new TakmicenjeIndexVM()
            {
                SkolaID    = tempModel.SkolaID,
                SkolaNaziv = skola.Naziv,
                Razred     = tempModel.RazredID,
                Rows       = db.Takmicenje.Where(x => x.SkolaID == tempModel.SkolaID).Select(x => new TakmicenjeIndexVM.Row()
                {
                    TakmicenjeID = x.Id,
                    Predmet      = x.Predmet.Naziv,
                    Razred       = x.Razred,
                    Datum        = x.Datum,
                    BrojUcenikaNisuPristupili = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeID == x.Id && y.Pristupio == false).Count(),
                    NajboljaSkola             = db.OdjeljenjeStavka.Where(y => y.Odjeljenje.SkolaID == x.SkolaID)
                                                .Select(y => y.DodjeljenPredmets.OrderByDescending(d => d.ZakljucnoKrajGodine)
                                                        .Select(d => d.OdjeljenjeStavka.Odjeljenje.Skola.Naziv).FirstOrDefault()).FirstOrDefault(),

                    NajboljeOdjeljenje = db.OdjeljenjeStavka.Where(y => y.Odjeljenje.SkolaID == x.SkolaID)
                                         .Select(y => y.DodjeljenPredmets.OrderByDescending(d => d.ZakljucnoKrajGodine)
                                                 .Select(d => d.OdjeljenjeStavka.Odjeljenje.Oznaka).FirstOrDefault()).FirstOrDefault(),

                    NajboljiUcesnik = db.OdjeljenjeStavka.Where(y => y.Odjeljenje.SkolaID == x.SkolaID)
                                      .Select(y => y.DodjeljenPredmets.OrderByDescending(d => d.ZakljucnoKrajGodine)
                                              .Select(d => d.OdjeljenjeStavka.Ucenik.ImePrezime).FirstOrDefault()).FirstOrDefault()
                }).ToList()
            };

            return(View(model));
        }
        public IActionResult Index()
        {
            var model = new TakmicenjeIndexVM
            {
                Skole = _context.Skola.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = x.Naziv
                }).ToList(),
                Predmeti = _context.Predmet.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = $"{x.Naziv} (razred {x.Razred})"
                }).OrderBy(x => x.Text).ToList()
            };

            model.Zapisi = _context.Takmicenje
                           .Include(x => x.Skola)
                           .Include(x => x.Predmet).Select(x => new TakmicenjeIndexVM.Zapis
            {
                Takmicenje = x,
            }).ToList();

            foreach (var item in model.Zapisi)
            {
                item.NajboljiUcesnik = GetNajbolji(item.Takmicenje.Id);
            }

            return(View(model));
        }
Beispiel #3
0
        public IActionResult Index()
        {
            var listaSkola = _context.Skola.Select(s => new SelectListItem
            {
                Value = s.Id.ToString(),
                Text  = s.Naziv
            }).ToList();
            List <SelectListItem> razredi = new List <SelectListItem>();

            razredi.Insert(0, new SelectListItem {
                Value = null, Text = "--Odaberite razred--", Selected = true
            });
            for (var i = 1; i <= 4; i++)
            {
                razredi.Add(new SelectListItem {
                    Value = i.ToString(), Text = i.ToString()
                });
            }
            TakmicenjeIndexVM model = new TakmicenjeIndexVM
            {
                Skole   = listaSkola,
                Razredi = razredi
            };

            return(View(model));
        }
        public IActionResult Index()
        {
            var Razredi = new List <string> {
                "", "1", "2", "3", "4"
            };
            var model = new TakmicenjeIndexVM
            {
                Skole = ctx.Skola
                        .Select
                        (
                    i => new SelectListItem
                {
                    Value = i.Id.ToString(),
                    Text  = i.Naziv
                }
                        )
                        .OrderBy(i => i.Text)
                        .ToList(),
                Razredi = Razredi
                          .ConvertAll
                          (
                    i =>
                {
                    return(new SelectListItem()
                    {
                        Text = i,
                        Value = i,
                        Selected = false
                    });
                }
                          )
            };

            return(View(model));
        }
Beispiel #5
0
        public IActionResult Index()
        {
            //PROBLEM, moram dohvatiti razrede koji nemaju svoj id, posto se ID veze za OdjeljenjeID radi cega moram praviti stringove razreda

            var Razredi = new List <string> {
                "", "1", "2", "3", "4"
            };

            var index = new TakmicenjeIndexVM()
            {
                domacini = db.Skola.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem {
                    Value = x.Id.ToString(),
                    Text  = x.Naziv
                }).OrderBy(x => x.Text).ToList(),
                razredi = Razredi.ConvertAll(
                    i =>
                {
                    return(new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem
                    {
                        Text = i,
                        Value = i,
                        Selected = false
                    });
                }


                    )
            };


            return(View(index));
        }
Beispiel #6
0
        public ActionResult Odaberi(TakmicenjeIndexVM podaci)
        {
            TakmicenjeOdaberiVM model = new TakmicenjeOdaberiVM
            {
                Razred  = podaci.Razred,
                SkolaId = (int)podaci.SkolaId,
                Skola   = _context.Skola.Find(podaci.SkolaId).Naziv
            };


            if (podaci.Razred == null)
            {
                model.rows = _context.Takmicenje.Where(t => t.SkolaID == podaci.SkolaId).Select(t => new TakmicenjeOdaberiVM.Row
                {
                    TakmicenjeId = t.Id,
                    Razred       = t.Predmet.Razred,
                    Predmet      = t.Predmet.Naziv,
                    Datum        = t.Datum,
                    BrojUcesnikaKojiNisuPristupili = _context.TakmicenjeUcesnik.Where(tu => tu.TakmicenjeId == t.Id && tu.Pristupio == false).Count(),
                    NajboljiUcesnik = "??"
                }).ToList();
            }
            else
            {
                model.rows = _context.Takmicenje.Where(t => t.Predmet.Razred == podaci.Razred && t.SkolaID == podaci.SkolaId).Select(t => new TakmicenjeOdaberiVM.Row
                {
                    TakmicenjeId = t.Id,
                    Razred       = t.Predmet.Razred,
                    Predmet      = t.Predmet.Naziv,
                    Datum        = t.Datum,
                    BrojUcesnikaKojiNisuPristupili  = _context.TakmicenjeUcesnik.Where(tu => tu.TakmicenjeId == t.Id && tu.Pristupio == false).Count(),
                    NajboljiUcesnikOdjeljenjeStavka = _context.TakmicenjeUcesnik.Where(tu => tu.TakmicenjeId == t.Id).OrderByDescending(tu => tu.Rezultat).First().OdjeljenjeStavkaId
                }).ToList();
            }


            for (int i = 0; i < model.rows.Count; i++)
            {
                if (model.rows[i].NajboljiUcesnikOdjeljenjeStavka != 0)
                {
                    var OS = _context.OdjeljenjeStavka.Where(a => a.Id == model.rows[i].NajboljiUcesnikOdjeljenjeStavka)
                             .Include(a => a.Odjeljenje.Skola)
                             .Include(a => a.Odjeljenje)
                             .Include(a => a.Ucenik)
                             .Single();

                    model.rows[i].NajboljiUcesnik = OS.Odjeljenje.Skola.Naziv + " | " + OS.Odjeljenje.Oznaka + " | " + OS.Ucenik.ImePrezime;
                }
            }


            return(View(model));
        }
Beispiel #7
0
        public IActionResult Index()
        {
            TakmicenjeIndexVM model = new TakmicenjeIndexVM();

            model.skole = db.Skola.Select(x => new SelectListItem
            {
                Value = x.Id.ToString(),
                Text  = x.Naziv
            }).ToList();

            return(View(model));
        }
        public IActionResult Prikaz(TakmicenjeIndexVM model)
        {
            IQueryable <Takmicenje> takmicenja = null;

            if (model.Razred == 0)
            {
                takmicenja = db.Takmicenje
                             .Include(x => x.Predmet)
                             .Where(x => x.SkolaDomacinId == model.SkolaDomacinId);
            }
            else
            {
                takmicenja = db.Takmicenje
                             .Include(x => x.Predmet)
                             .Where(x => x.Razred == model.Razred && x.SkolaDomacinId == model.SkolaDomacinId);
            }

            TakmicenjePrikazVM ulazniModel = new TakmicenjePrikazVM
            {
                SkolaDomacinId = model.SkolaDomacinId,
                SkolaDomacin   = db.Skola.Where(x => x.Id == model.SkolaDomacinId).SingleOrDefault().Naziv,
                Razred         = model.Razred,
                rows           = takmicenja
                                 .Select(x => new TakmicenjePrikazVM.Row
                {
                    Datum              = x.Datum.ToShortDateString(),
                    Razred             = x.Razred,
                    Predmet            = x.Predmet.Naziv,
                    TakmicenjeId       = x.Id,
                    BrojNisuPristupili = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).Count(y => y.IsPristupio == false),
                    NajUcenik          = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).OrderByDescending(y => y.BrojBodova)
                                         .Select(y => y.OdjeljenjeStavka.Ucenik).FirstOrDefault().ImePrezime,
                }).ToList()
            };


            foreach (var x in ulazniModel.rows)
            {
                var naj = db.OdjeljenjeStavka
                          .Include(cx => cx.Odjeljenje)
                          .Include(cx => cx.Ucenik)
                          .Include(cx => cx.Odjeljenje.Skola)
                          .Where(c => c.Ucenik.ImePrezime == x.NajUcenik).FirstOrDefault();
                if (x.NajUcenik != null)
                {
                    x.SkolaNajUcenika      = naj.Odjeljenje.Skola.Naziv;
                    x.OdjeljenjeNajUcenika = naj.Odjeljenje.Oznaka;
                }
            }

            return(View(ulazniModel));
        }
Beispiel #9
0
        public IActionResult Index()
        {
            TakmicenjeIndexVM model = new TakmicenjeIndexVM
            {
                ListaSkola = _context.Skola.Select(s => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem
                {
                    Value = s.Id.ToString(),
                    Text  = s.Naziv
                }).ToList()
            };

            return(View(model));
        }
Beispiel #10
0
        public IActionResult Choose(TakmicenjeIndexVM model)
        {
            var skola = db.Skola.Find(model.SkolaId);

            var choose = new TakmicenjeChooseVM
            {
                SkolaID     = skola.Id,
                SkolaNaziv  = skola.Naziv,
                RazredNaziv = model.RazredID,
                rows        = db.Takmicenje.Where(x => x.Skola.Id == model.SkolaId).Select(
                    x => new TakmicenjeChooseVM.Rows
                {
                    TakmicenjeId = x.Id,
                    PredmetId    = x.PredmetId,
                    PredmetNaziv = x.Predmet.Naziv,
                    Razred       = x.Predmet.Razred,
                    Datum        = x.Datum.ToString("dd/MM/yyyy"),
                    BrojUcesnikaKojiNisuPristupili = db.TakmicenjeUcesnik
                                                     .Where(i => i.TakmicenjeId == x.Id && x.IsPristupio == false).Count()
                }
                    ).ToList()
            };

            if (model.RazredID != null)
            {
                choose.rows = choose.rows.Where(x => x.Razred.ToString() == model.RazredID).ToList();
            }

            foreach (var item in choose.rows)
            {
                var best = db.TakmicenjeUcesnik.Where(x => x.TakmicenjeId == item.TakmicenjeId)
                           .Include(x => x.OdjeljenjeStavka.Ucenik)
                           .Include(x => x.OdjeljenjeStavka.Odjeljenje.Skola)
                           .Include(x => x.OdjeljenjeStavka.Odjeljenje)
                           .FirstOrDefault();

                if (best != null)
                {
                    item.NajboljiUcesnikSkola      = best.OdjeljenjeStavka.Odjeljenje.Skola.Naziv;
                    item.NajboljiUcesnikOdjeljenje = best.OdjeljenjeStavka.Odjeljenje.Oznaka;
                    item.NajboljiUcesnikImePrezime = best.OdjeljenjeStavka.Ucenik.ImePrezime;
                }
            }

            return(View(choose));
        }
Beispiel #11
0
        public ActionResult Snimi(TakmicenjeDodajVM model)
        {
            Takmicenje t = new Takmicenje
            {
                Datum      = model.Datum,
                PredmetId  = model.PredmetId,
                SkolaID    = model.SkolaId,
                Zakljucano = false
            };

            _context.Takmicenje.Add(t);
            _context.SaveChanges();

            List <OdjeljenjeStavka> listaOS = _context.DodjeljenPredmet.Where(dp => dp.PredmetId == model.PredmetId && dp.ZakljucnoKrajGodine == 5).Select(dp => dp.OdjeljenjeStavka).ToList();

            foreach (var x in listaOS)
            {
                double prosjek = _context.DodjeljenPredmet.Where(dp => dp.OdjeljenjeStavkaId == x.Id).Average(dp => dp.ZakljucnoKrajGodine);

                if (prosjek >= 4)
                {
                    TakmicenjeUcesnik tu = new TakmicenjeUcesnik
                    {
                        OdjeljenjeStavkaId = x.Id,
                        Pristupio          = false,
                        Rezultat           = 0,
                        TakmicenjeId       = t.Id
                    };

                    _context.TakmicenjeUcesnik.Add(tu);
                    _context.SaveChanges();
                }
            }



            TakmicenjeIndexVM newTI = new TakmicenjeIndexVM
            {
                SkolaId = model.SkolaId,
                Razred  = model.Razred
            };

            return(RedirectToAction("Index"));
        }
        public IActionResult Prikaz(TakmicenjeIndexVM model)
        {
            var takmicenja = db.Takmicenje
                             .Include(x => x.Predmet)
                             .Where(x => x.Razred == model.Razred && x.SkolaDomacinId == model.SKolaDomacinId);

            TakmicenjePrikazVM prikaz = new TakmicenjePrikazVM
            {
                SkolaDomacinId = model.SKolaDomacinId,
                SkolaDomacin   = db.Skola.Where(x => x.Id == model.SKolaDomacinId).SingleOrDefault().Naziv,
                Razred         = model.Razred,
                row            = takmicenja.Select(x => new TakmicenjePrikazVM.Row
                {
                    Datum        = x.Datum.ToShortDateString(),
                    Razred       = x.Razred,
                    Predmet      = x.Predmet.Naziv,
                    TakmicenjeId = x.Id,
                    BrojUčesnikaKojiNisuPristupili = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).Count(y => y.IsPristupio == false),
                    NajboljiUcenik = db.TakmicenjeUcesnik.Where(y => y.TakmicenjeId == x.Id).OrderByDescending(y => y.BrojBodova)
                                     .Select(y => y.OdjeljenjeStavka.Ucenik).FirstOrDefault().ImePrezime,
                }).ToList()
            };

            foreach (var x in prikaz.row)
            {
                var naj = db.OdjeljenjeStavka
                          .Include(z => z.Odjeljenje)
                          .Include(z => z.Ucenik)
                          .Include(z => z.Odjeljenje.Skola)
                          .Where(a => a.Ucenik.ImePrezime == x.NajboljiUcenik).FirstOrDefault();
                if (x.NajboljiUcenik != null)
                {
                    x.SkolaNajUcenika      = naj.Odjeljenje.Skola.Naziv;
                    x.OdjeljenjeNajUcenika = naj.Odjeljenje.Oznaka;
                }
            }
            return(View(prikaz));
        }
        public IActionResult Odaberi(TakmicenjeIndexVM model)
        {
            var skola = ctx.Skola.Find(model.SkolaId);

            var modelOdaberi = new TakmicenjeOdaberiVM
            {
                SkolaId = skola.Id,
                Skola   = skola.Naziv,
                Razred  = model.Razred,
                Rows    = ctx.Takmicenje
                          .Where
                          (
                    i => i.Skola.Id == model.SkolaId
                          )
                          .Select
                          (
                    i => new TakmicenjeOdaberiVM.Row
                {
                    TakmicenjeId = i.Id,
                    PredmetId    = i.Predmet.Id,
                    Predmet      = i.Predmet.Naziv,
                    Razred       = i.Razred,
                    Datum        = i.Datum.ToString("dd/MM/yyyy"),
                    BrojUcesnikaKojiNisuPristupili = ctx.TakmicenjeUcesnik
                                                     .Where
                                                     (
                        t => t.TakmicenjeId == i.Id &&
                        t.IsPristupio == false
                                                     )
                                                     .Count()
                }
                          )
                          .ToList()
            };

            if (model.Razred != null)
            {
                modelOdaberi.Rows = modelOdaberi.Rows.Where(i => i.Razred.ToString() == model.Razred).ToList();
            }

            foreach (var Row in modelOdaberi.Rows)
            {
                var Najbolji = ctx.TakmicenjeUcesnik
                               .Include(i => i.OdjeljenjeStavka.Ucenik)
                               .Include(i => i.OdjeljenjeStavka.Odjeljenje)
                               .Include(i => i.OdjeljenjeStavka.Odjeljenje.Skola)
                               .OrderByDescending(i => i.Bodovi)
                               .Where(i => i.TakmicenjeId == Row.TakmicenjeId && i.IsPristupio == true)
                               .FirstOrDefault();

                if (Najbolji != null)
                {
                    Row.NajboljiUcesnikId         = Najbolji.OdjeljenjeStavka.Ucenik.Id;
                    Row.NajboljiUcesnikImePrezime = Najbolji.OdjeljenjeStavka.Ucenik.ImePrezime;
                    Row.NajboljiUcesnikOdjeljenje = Najbolji.OdjeljenjeStavka.Odjeljenje.Oznaka;
                    Row.NajboljiUcesnikSkola      = Najbolji.OdjeljenjeStavka.Odjeljenje.Skola.Naziv;
                }
            }

            return(View(modelOdaberi));
        }
Beispiel #14
0
 public IActionResult Index(TakmicenjeIndexVM model)
 {
     return(RedirectToAction("Pregled", new { skolaID = model.skolaID, razred = model.razred }));
 }