Ejemplo n.º 1
0
        public IActionResult Dodaj(int id)
        {
            DodajTakmicenje vm = new DodajTakmicenje
            {
                Predmeti = _context.Predmet.GroupBy(x => x.Naziv).Select(i => i.First()).Select(x => new SelectListItem
                {
                    Text  = x.Naziv,
                    Value = x.Id.ToString()
                }).ToList(),
                Skole = _context.Skola.Where(x => x.Id == id).Select(x => new SelectListItem
                {
                    Text  = x.Naziv,
                    Value = x.Id.ToString()
                }).ToList(),
                Datum = DateTime.Now
            };

            return(View(vm));
        }
Ejemplo n.º 2
0
        public IActionResult Snimi(DodajTakmicenje vm)
        {
            Takmicenje tak = new Takmicenje
            {
                Datum     = vm.Datum,
                PredmetID = vm.PredmetID,
                SkolaID   = vm.SkolaID,
                Razred    = _context.Predmet.Where(x => x.Id == vm.PredmetID).Select(x => x.Razred).FirstOrDefault()
            };

            _context.Add(tak);
            _context.SaveChanges();
            var takmicari = _context.DodjeljenPredmet.Where(x => x.ZakljucnoKrajGodine > 3).Select(i => new TakmicenjeUcesnik
            {
                IsPristupio        = false,
                OdjeljenjeStavkaID = i.OdjeljenjeStavkaId,
                Bodovi             = 0
            }).ToList();
            var takmicenjeUcesnici = _context.TakmicenjeUcesnici.Select(x => new TakmicenjeUcesnik
            {
                Bodovi             = x.Bodovi,
                Id                 = x.Id,
                IsPristupio        = x.IsPristupio,
                OdjeljenjeStavkaID = x.OdjeljenjeStavkaID,
                TakmicenjeID       = x.TakmicenjeID
            }).ToList();
            bool DaLiImaUcesnika = false;

            //provjera da li uopste ima ucesnika za takmicenje koje se dodaje
            foreach (var item in takmicenjeUcesnici)
            {
                if (item.TakmicenjeID == tak.Id)
                {
                    DaLiImaUcesnika = true;
                }
            }
            if (!DaLiImaUcesnika)
            {
                return(Redirect("/Takmicenje/Index"));
            }
            //dodaj najbolje ucesnike za dato takmicenje..
            foreach (var Takmicar in takmicari)
            {
                bool flag = _context.DodjeljenPredmet.Where
                            (
                    i => i.OdjeljenjeStavkaId == Takmicar.OdjeljenjeStavkaID &&
                    i.OdjeljenjeStavka.Odjeljenje.Razred == tak.Razred
                            ).Select(i => i.ZakljucnoKrajGodine).Average() > 3;
                if (flag)
                {
                    var noviTakmicar = new TakmicenjeUcesnik
                    {
                        TakmicenjeID       = tak.Id,
                        IsPristupio        = false,
                        Bodovi             = 0,
                        OdjeljenjeStavkaID = Takmicar.OdjeljenjeStavkaID
                    };
                    _context.Add(noviTakmicar);
                    _context.SaveChanges();
                }
            }
            return(Redirect("/Takmicenje/Index"));
        }