Пример #1
0
        public Boolean SacuvajKategorije(KursManageVM vm, IEnumerable <int> nove, IEnumerable <int> postojece)
        {
            if (postojece != null)
            {
                // ima postojecih kategorija u db za ovaj kurs
                foreach (var id in nove.ToArray().Except(postojece.ToArray()))
                {
                    _ctx.KategorizacijaDbSet.Add(new Kategorizacija {
                        KursId = vm.KursId, PotkategorijaId = id
                    });
                }

                foreach (var id in postojece.ToArray().Except(nove.ToArray()))
                {
                    Kategorizacija kategorija = _ctx.KategorizacijaDbSet.Where(w => w.Kurs.Id == vm.KursId && w.Potkategorija.Id == id).Single();
                    _ctx.KategorizacijaDbSet.Remove(kategorija);
                }
            }
            else
            {
                // nema postojecih kategorija u db za ovaj kurs (novi kurs)
                foreach (var id in nove.ToArray())
                {
                    _ctx.KategorizacijaDbSet.Add(new Kategorizacija {
                        KursId = vm.KursId, PotkategorijaId = id
                    });
                }
            }


            return(true);
        }
        public ActionResult KategorijeNav()
        {
            var Model = new KursManageVM
            {
                KursKategorijaList    = _ctx.KategorijaDbSet.ToList(),
                KursPotkategorijaList = _ctx.PotkategorijaDbSet.ToList()
            };

            return(PartialView(Model));
        }
Пример #3
0
        // TODO Doraditi sve atribute (Dodaj)
        public ActionResult Dodaj()
        {
            var model = new KursManageVM
            {
                KursDatumKreiranja    = DateTime.Now,
                KursKategorijaList    = _ctx.KategorijaDbSet.ToList(),
                KursPotkategorijaList = _ctx.PotkategorijaDbSet.ToList()
            };

            return(View("Manage", model));
        }
Пример #4
0
        // TODO Metoda Snimi
        public ActionResult Snimi(KursManageVM vm)
        {
            Kurs       kurs;
            List <int> postedInts = vm.KursKategorizacija;
            List <int> dbInts     = _ctx.KategorizacijaDbSet.Where(w => w.Kurs.Id == vm.KursId).Select(s => s.Potkategorija.Id).ToList();


            // TODO implementirati kompletnu validaciju
            if (!ModelState.IsValid)
            {
                vm.KursKategorijaList    = _ctx.KategorijaDbSet.ToList();
                vm.KursPotkategorijaList = _ctx.PotkategorijaDbSet.ToList();
                vm.KursKategorizacija    = (dbInts != null) ? dbInts : new List <int>();

                return(View("Manage", vm));
            }

            if (vm.KursId == 0)
            {
                kurs = new Kurs();
                _ctx.KursDbSet.Add(kurs);
            }
            else
            {
                kurs = _ctx.KursDbSet.Find(vm.KursId);
            }

            // TODO doraditi atribute

            kurs.DatumKreiranja = vm.KursDatumKreiranja;
            kurs.Naziv          = vm.KursNaziv;
            kurs.Opis           = vm.KursOpis;
            kurs.VideoId        = vm.KursVideoId;
            kurs.Nivo           = vm.KursNivo.Value;
            string loggedInUserId = User.Identity.GetUserId();

            kurs.InstruktorId = loggedInUserId;
            //atribut STATUS nije potrebno dodati

            SacuvajKategorije(vm, postedInts, dbInts);

            _ctx.SaveChanges();

            return(RedirectToAction("Index"));
        }