public IHttpActionResult GetAllData([FromBody] long ID) { ZapocetiKvizData kvizData = new ZapocetiKvizData(); Kviz kviz = db.Kvizs.Where(k => k.ID == ID).FirstOrDefault(); kvizData.Kviz = kviz; foreach (var kvizPitanje in db.KvizPitanjes.Where(kp => kp.KvizID == kviz.ID).ToList()) { foreach (var pitanje in db.Pitanjes.Where(p => p.ID == kvizPitanje.PitanjeID).ToList()) { PitanjaSaOdgovorima ptnj = new PitanjaSaOdgovorima(); ptnj.Pitanje = pitanje; ptnj.Odgovori = db.Odgovors.Where(o => db.OdgovorPitanjes.Where(op => op.PitanjeID == pitanje.ID).Select(op => op.OdgovorID).ToList().Contains(o.ID)).ToList(); kvizData.Data.Add(ptnj); } } return(Ok(kvizData)); }
// metoda koja sluzi za pokretanje kviza public ActionResult StartKviz(int ID) { // dohvati sve podatke o odabranom kvizu ZapocetiKvizData kvizData = new ZapocetiKvizData(); Kviz kviz = db.Kvizs.Where(k => k.ID == ID).FirstOrDefault(); kvizData.Kviz = kviz; // pretvori podatke u ljepši format za lakše rukovanje unutar template fajla (View-a) foreach (var kvizPitanje in db.KvizPitanjes.Where(kp => kp.KvizID == kviz.ID).ToList()) { foreach (var pitanje in db.Pitanjes.Where(p => p.ID == kvizPitanje.PitanjeID).ToList()) { PitanjaSaOdgovorima ptnj = new PitanjaSaOdgovorima(); ptnj.Pitanje = pitanje; ptnj.Odgovori = db.Odgovors.Where(o => db.OdgovorPitanjes.Where(op => op.PitanjeID == pitanje.ID).Select(op => op.OdgovorID).ToList().Contains(o.ID)).ToList(); kvizData.Data.Add(ptnj); } } ViewBag.kvizData = kvizData; ViewBag.kvizDataJSON = JsonConvert.SerializeObject(kvizData); return(View()); }