public void DodajPopravniIspit(int odjeljenjeId, int predmetId, DateTime datumIspita)
        {
            PopravniIspit popravniIspit = new PopravniIspit {
                OdjeljenjeID = odjeljenjeId,
                DatumIspita  = datumIspita,
                PredmetID    = predmetId
            };

            _context.Add(popravniIspit);
            _context.SaveChanges();

            HashSet <PopravniIspitStavka> popravniIspitStavke = _context.DodjeljenPredmet
                                                                .Where(dp => dp.OdjeljenjeStavka.OdjeljenjeId == odjeljenjeId && dp.PredmetId == predmetId)
                                                                .Where(dp => dp.ZakljucnoKrajGodine == 1)
                                                                .Select(dp => new PopravniIspitStavka {
                Bodovi             = 50,
                OdjeljenjeStavkaId = odjeljenjeId,
                PopravniIspitId    = popravniIspit.Id,
            })
                                                                .ToHashSet();

            //korak 3
            foreach (var popravniIspitStavka in popravniIspitStavke)
            {
                int brojJedinicaZakljucenih = _context.DodjeljenPredmet.Where(dp => dp.Id == popravniIspitStavka.OdjeljenjeStavkaId)
                                              .Count(dp => dp.ZakljucnoKrajGodine == 1);
                if (brojJedinicaZakljucenih >= 3)
                {
                    popravniIspitStavka.Bodovi = 0;
                }
            }

            _context.AddRange(popravniIspitStavke);
            _context.SaveChanges();
        }
        public IActionResult Snimi(int Klijent, DateTime Datum, int?Ponuda)
        {
            Faktura nova = new Faktura();

            nova.KlijentID = Klijent;
            nova.Datum     = Datum;
            _context.Faktura.Add(nova);
            _context.SaveChanges();
            if (Ponuda != null)
            {
                Ponuda odbPonuda = _context.Ponuda.Where(x => x.Id == Ponuda).FirstOrDefault();
                odbPonuda.FakturaID = nova.Id;


                List <FakturaStavka> stavke = _context.PonudaStavka.Where(x => x.PonudaId == Ponuda).Select(s => new FakturaStavka
                {
                    FakturaID      = nova.Id,
                    Kolicina       = s.Kolicina,
                    ProizvodID     = s.ProizvodId,
                    PopustProcenat = 5
                }).ToList();

                _context.AddRange(stavke);
                _context.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        public IActionResult Snimi(UputnicaDodajVM model)
        {
            if (!ModelState.IsValid)
            {
                model.ljekari = _context.Ljekar.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = "Dr." + x.Ime
                }).ToList();
                model.pacijenti = _context.Pacijent.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = x.Ime
                }).ToList();
                model.vrstePretrage = _context.VrstaPretrage.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = x.Naziv
                }).ToList();

                return(View("Dodaj", model));
            }

            Uputnica novaUputnica = new Uputnica()
            {
                PacijentId      = model.pacijentId,
                UputioLjekarId  = model.ljekarId,
                VrstaPretrageId = model.vrstaPretrageId,
                DatumUputnice   = (DateTime)model.DatumUputnie
            };

            _context.Uputnica.Add(novaUputnica);
            _context.SaveChanges();
            List <RezultatPretrage> listaPretraga = _context.LabPretraga.Where(x => x.VrstaPretrageId == model.vrstaPretrageId).Select(x => new RezultatPretrage
            {
                LabPretragaId       = x.Id,
                UputnicaId          = novaUputnica.Id,
                ModalitetId         = null,
                NumerickaVrijednost = null,
            }).ToList();

            _context.AddRange(listaPretraga);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 4
0
        public IActionResult DodajTakmicenje(int skolaId, string nazivPredmeta, int razred, DateTime datum)
        {
            int predmetId = _context.Predmet.Where(p => p.Naziv == nazivPredmeta && p.Razred == razred).First().Id;

            Takmicenje takmicenje = new Takmicenje
            {
                Datum     = datum,
                PredmetId = predmetId,
                Razred    = razred,
                SkolaId   = skolaId,
            };

            _context.Add(takmicenje);
            _context.SaveChanges();

            List <TakmicenjeUcesnik> takmicenjeUcesnici = _context.OdjeljenjeStavka
                                                          .Where(
                os => os.DodjeljenPredmets
                .Where(dp => dp.PredmetId == predmetId)
                .Count(dp => dp.ZakljucnoKrajGodine == 5) > 0

                ||

                os.DodjeljenPredmets
                .Average(dp => dp.ZakljucnoKrajGodine) >= 4.0
                )
                                                          .Select(os => new TakmicenjeUcesnik
            {
                OdjeljenjeStavkaId = os.Id,
                TakmicenjeId       = takmicenje.Id,
                Pristupio          = false,
                Bodovi             = 0,
            })
                                                          .ToList();


            _context.AddRange(takmicenjeUcesnici);
            _context.SaveChanges();

            return(RedirectToAction("PrikazTakmicenja", new { razred = razred, skolaId = skolaId }));
        }
        public IActionResult DodajPopravniIspit
        (
            int skolaId, int predmetId, int skolskaGodinaId,
            int nastavnik1Id, int nastavnik2Id, int nastavnik3Id,
            DateTime datum
        )
        {
            PopravniIspit popravniIspit = new PopravniIspit
            {
                NastavnikId1    = nastavnik1Id,
                NastavnikId2    = nastavnik2Id,
                NastavnikId3    = nastavnik3Id,
                DatumIspita     = datum,
                PredmetId       = predmetId,
                SkolaId         = skolaId,
                SkolskaGodinaId = skolskaGodinaId
            };

            _context.Add(popravniIspit);
            _context.SaveChanges();



            List <PopravniIspitStavka> odjeljenjaStavke = _context.OdjeljenjeStavka
                                                          .Where(os => os.DodjeljeniPredmeti.Count(dp => dp.ZakljucnoKrajGodine == 1 && dp.PredmetId == predmetId) > 0)
                                                          .Select(os => new PopravniIspitStavka
            {
                OdjeljenjeStavkaId = os.Id,
                PopravniIspitId    = popravniIspit.Id,
                Prisutan           = false,
                Bodovi             = (os.DodjeljeniPredmeti.Count(dp => dp.ZakljucnoKrajGodine == 1)) >= 3 ? 0.0 : (double?)(null),
            }).ToList();

            _context.AddRange(odjeljenjaStavke);
            _context.SaveChanges();



            return(RedirectToAction("PrikazPopravnihIspita", new { skolaId = skolaId, predmetId = predmetId, skolskaGodinaId = skolskaGodinaId }));
        }
Esempio n. 6
0
        public IActionResult Snimi(TakmicenjeDodajVM takmicenjeDodajVM)
        {
            Takmicenje tak = new Takmicenje
            {
                Datum        = takmicenjeDodajVM.Datum,
                IsZakljucano = false,
                PredmetID    = takmicenjeDodajVM.PredmetID,
                Razred       = takmicenjeDodajVM.RazredID,
                SkolaID      = takmicenjeDodajVM.SkolaID
            };

            _context.Add(tak);
            _context.SaveChanges();

            //var ucesnici = _context.DodjeljenPredmet.Include(i=>i.OdjeljenjeStavka).Include(i=>i.OdjeljenjeStavka.Odjeljenje).Where(x => x.ZakljucnoKrajGodine == 5).Select(i => new TakmicenjeStavka
            //{
            //    OdjeljenjeStavkaID = i.OdjeljenjeStavkaId,
            //    IsPristupio = false,
            //    Bodovi = 0,
            //    OdjeljenjeStavka = i.OdjeljenjeStavka
            //}).ToList();

            var ucesnici = _context.DodjeljenPredmet
                           .Include(i => i.OdjeljenjeStavka)
                           .ThenInclude(i => i.Odjeljenje)
                           .Where
                           (
                i => i.Predmet.Id == takmicenjeDodajVM.PredmetID &&
                i.ZakljucnoKrajGodine == 5
                           )
                           .Select
                           (
                i => new TakmicenjeStavka
            {
                OdjeljenjeStavkaID = i.OdjeljenjeStavkaId,
                OdjeljenjeStavka   = i.OdjeljenjeStavka,
                IsPristupio        = false,
                Bodovi             = 0
            }
                           )
                           .ToList();

            var noviTakmicari = new List <TakmicenjeStavka>();

            foreach (var item in ucesnici)
            {
                var predmeti = _context.DodjeljenPredmet
                               .Include(i => i.OdjeljenjeStavka)
                               .ThenInclude(i => i.Odjeljenje)
                               .Where
                               (
                    i => i.OdjeljenjeStavkaId == item.OdjeljenjeStavkaID
                               )
                               .ToList();
                bool flag =
                    predmeti.Any() ?
                    predmeti.Select
                    (
                        i => i.ZakljucnoKrajGodine
                    )
                    .Average() > 4 :
                    false;


                if (flag)
                {
                    var NoviTakmicar = new TakmicenjeStavka()
                    {
                        TakmicenjeID       = tak.Id,
                        OdjeljenjeStavkaID = item.OdjeljenjeStavkaID,
                        IsPristupio        = false,
                        Bodovi             = 0
                    };

                    noviTakmicari.Add(NoviTakmicar);
                }
            }

            _context.AddRange(noviTakmicari);
            _context.SaveChanges();
            return(Redirect("Index"));
        }