public ActionResult Pytanie() { if ((string)Session["Status"] != "Uczen" && (string)Session["test"] != "start") { return(RedirectToAction("Index", "Home")); } if (Session["iter"] == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.next = true; ViewBag.back = true; Pytanie pytanie = db.Pytania.Find(Session["iter"]); var pytania = db.Pytania.Where(s => s.TestID == pytanie.TestID).ToList(); if (pytania[0].ID == pytanie.ID) { ViewBag.back = false; } if (pytania[pytania.Count() - 1].ID == pytanie.ID) { ViewBag.next = false; } ViewBag.title = "Pytanie 1 z " + pytania.Count(); ViewBag.time = (int)Session["pozostalyCzasTestu"]; var vm = new PytanieVM(pytanie); vm.SetPathsToBase64(); return(View(vm)); }
public ActionResult Solve(string OdpowiedzUzytkownika) { ISessionIterator iterator = (ISessionIterator)Session[iteratorKey]; Pytanie pytanie = iterator.GetCurrent(); pytanie.OdpowiedzUzytkownika = OdpowiedzUzytkownika; return(RedirectToAction("Solve")); }
public ActionResult Previous(string OdpowiedzUzytkownika) { ISessionIterator iterator = (ISessionIterator)Session[iteratorKey]; Pytanie pytanie = iterator.GetCurrent(); pytanie.OdpowiedzUzytkownika = OdpowiedzUzytkownika; if (iterator.HasPrev()) { iterator.Prev(); Session[currentQuestionKey] = (int)Session[currentQuestionKey] - 1; } return(RedirectToAction("Solve")); }
public ActionResult PytanieUsun(int id) { if (Session["Status"] != "Nauczyciel") { return(RedirectToAction("Index", "Home")); } Pytanie pytanie = db.Pytania.Find(id); var idTestu = pytanie.TestID; db.Pytania.Remove(pytanie); db.SaveChanges(); return(RedirectToAction("Pytania", new { id = idTestu })); }
// Displays the question currently pointed to by the iterator // GET: Session/Solve public ActionResult Solve() { ISessionIterator iterator = (ISessionIterator)Session[iteratorKey]; Sesja sesja = (Sesja)Session[sessionKey]; Pytanie pytanie = iterator.GetCurrent(); var model = pytanie.getViewModel(); model.NumerPytania = (int)Session[currentQuestionKey]; model.LiczbaPytań = (int)Session[questionCountKey]; model.JestPierwszymPytaniem = !iterator.HasPrev(); model.JestOstatnimPytaniem = !iterator.HasNext(); model.MozeZakonczyc = (sesja.TypSesji == TypSesji.Nauka && model.JestOstatnimPytaniem && pytanie.CzyOdpowiedzianoPoprawnie()) || (sesja.TypSesji == TypSesji.Test); return(View(model)); }
public PytanieVM(Pytanie pytanie) { ID = pytanie.ID; TestID = pytanie.TestID; this.tresc = pytanie.tresc; this.odpowiedz1 = pytanie.odpowiedz1; this.odpowiedz2 = pytanie.odpowiedz2; this.odpowiedz3 = pytanie.odpowiedz3; this.odpowiedz4 = pytanie.odpowiedz4; this.punktacja = pytanie.punktacja; this.odp = pytanie.odp; Sounds = pytanie.Multimedia.Where(x => x.Type == MultimediaType.Dźwięk).ToList(); Pictures = pytanie.Multimedia.Where(x => x.Type == MultimediaType.Obrazek).ToList(); Videos = pytanie.Multimedia.Where(x => x.Type == MultimediaType.Wideo).ToList(); }
public ActionResult PytanieEdytcja([Bind(Include = "ID,TestID,tresc,odpowiedz1,odpowiedz2,odpowiedz3,odpowiedz4,punktacja,odp")] Pytanie pytanie) { if (Session["Status"] != "Nauczyciel") { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { db.Entry(pytanie).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Pytania", new { id = pytanie.TestID })); } ViewBag.TestID = new SelectList(db.Testy, "ID", "ID", pytanie.TestID); return(View(pytanie)); }
public ActionResult Next(string OdpowiedzUzytkownika) { ISessionIterator iterator = (ISessionIterator)Session[iteratorKey]; Sesja sesja = (Sesja)Session[sessionKey]; Pytanie pytanie = iterator.GetCurrent(); pytanie.OdpowiedzUzytkownika = OdpowiedzUzytkownika; if (iterator.HasNext()) { iterator.Next(); if ((pytanie.CzyOdpowiedzianoPoprawnie() && sesja.TypSesji == TypSesji.Nauka) || sesja.TypSesji == TypSesji.Test) { Session[currentQuestionKey] = (int)Session[currentQuestionKey] + 1; } } return(RedirectToAction("Solve")); }
public ActionResult PytanieUsun(int?id) { if (Session["Status"] != "Nauczyciel") { return(RedirectToAction("Index", "Home")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Pytanie pytanie = db.Pytania.Find(id); if (pytanie == null) { return(HttpNotFound()); } return(View(pytanie)); }
public ActionResult PytanieEdytcja(int?id) { if (Session["Status"] != "Nauczyciel") { return(RedirectToAction("Index", "Home")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Pytanie pytanie = db.Pytania.Find(id); if (pytanie == null) { return(HttpNotFound()); } ViewBag.TestID = new SelectList(db.Testy, "ID", "ID", pytanie.TestID); return(View(pytanie)); }
private void SetButtons(int i) { Button1.GetComponent <Button>().GetComponentInChildren <Text>().text = OdpA[numbers[i]]; Button2.GetComponent <Button>().GetComponentInChildren <Text>().text = OdpB[numbers[i]]; Button3.GetComponent <Button>().GetComponentInChildren <Text>().text = OdpC[numbers[i]]; Button4.GetComponent <Button>().GetComponentInChildren <Text>().text = OdpD[numbers[i]]; Pytanie.GetComponent <Text>().text = Pyt[numbers[i]]; if (imageSrc[numbers[i]] == "NULL") { image.GetComponent <Image>().sprite = null; Pytanie.GetComponent <RectTransform>().localPosition = new Vector3(0, 550, 0); image.SetActive(false); } else { image.SetActive(true); image.GetComponent <RectTransform>().localPosition = new Vector3(0, 200, 0); Pytanie.GetComponent <RectTransform>().localPosition = new Vector3(0, 600, 0); image.GetComponent <Image>().sprite = Resources.Load <Sprite>(imageSrc[numbers[i]]); } }
public ActionResult CreateQuestions(FormCollection formCollection) { if (ModelState.IsValid) { string[] questions = formCollection[1].Split(','); string[] points = formCollection[2].Split(','); for (int i = 0; i < questions.Length; i++) { Pytanie pytanie = new Pytanie(); pytanie.id_testu = Convert.ToInt32(Session["testID"]); pytanie.tresc = questions[i]; pytanie.pkt_za_odpowiedz = Convert.ToInt32(points[i]); db.Pytania.Add(pytanie); db.SaveChanges(); } return(RedirectToAction("TestSummary")); } return(View()); }
public ActionResult Pytani(string button, string dec, int pozostalyCzasTestu) { ViewBag.back = true; ViewBag.next = true; Pytanie pytanie = db.Pytania.Find(Session["iter"]); var pytania = db.Pytania.Where(s => s.TestID == pytanie.TestID).ToList(); int[] cache = (int[])Session["cache"]; int x = 0; foreach (Pytanie a in pytania) { x++; if (a.ID == (int)Session["iter"]) { break; } } switch (dec) { case "1": cache[x - 1] = 1; break; case "2": cache[x - 1] = 2; break; case "3": cache[x - 1] = 3; break; case "4": cache[x - 1] = 4; break; } Session["cache"] = cache; switch (button) { case "Dalej": foreach (Pytanie a in pytania) { if (a.ID > (int)Session["iter"]) { Session["iter"] = a.ID; if (pytania[pytania.Count() - 1].ID == a.ID) { ViewBag.next = false; } break; } } break; case "Wróć": pytania.Reverse(); foreach (Pytanie a in pytania) { if (a.ID < (int)Session["iter"]) { Session["iter"] = a.ID; if (pytania[pytania.Count() - 1].ID == a.ID) { ViewBag.back = false; } break; } } break; case "Zapisz test": int wynik = 0; int max = 0; for (int i = 0; i < cache.Length; i++) { max += pytania[i].punktacja; if (cache[i] == (int)pytania[i].odp) { wynik += pytania[i].punktacja; } } Session["wynik"] = wynik; Session["max"] = max; return(RedirectToAction("Wynik")); } Pytanie pytanie_next = db.Pytania.Find(Session["iter"]); pytania = db.Pytania.Where(s => s.TestID == pytanie.TestID).ToList(); x = 0; foreach (Pytanie a in pytania) { x++; if (a.ID == (int)Session["iter"]) { break; } } ViewBag.title = "Pytanie " + x + " z " + pytania.Count(); cache = (int[])Session["cache"]; ViewBag.cache = cache[x - 1]; Session["pozostalyCzasTestu"] = pozostalyCzasTestu; ViewBag.time = (int)Session["pozostalyCzasTestu"]; ModelState.Clear(); var vm = new PytanieVM(pytanie_next); vm.SetPathsToBase64(); return(View(vm)); }
public ActionResult Wypelnij(Karta karta) { var context = new Models.Context(); var program = context.ProgramyStudiow .Where(p => !p.Usuniety.HasValue) .FirstOrDefault(p => p.Id == karta.ProgramId); var dziekan = User.IsInRole("Dziekan"); var userId = User.Identity.GetUserId(); if (!dziekan && program.WykladowcaId != userId) { return(View("BrakDostepu")); } if (program.PrzedmiotOpis == null) { program.PrzedmiotOpis = new PrzedmiotOpis(); } //ToDo: uzupelnic wartosci w program o wartosci z karta, bez imienia i nazwiska program.PrzedmiotOpis.NazwaAngielski = karta.NazwaAngielski; program.PrzedmiotOpis.JezykiId = karta.JezykiId; program.PrzedmiotOpis.MaterialyId = karta.MaterialyId; program.PrzedmiotOpis.Rok = karta.Rok; program.PrzedmiotOpis.KrotkiOpis = karta.KrotkiOpis; program.PrzedmiotOpis.CelGlowny = karta.CelGlowny; program.PrzedmiotOpis.CelKompetencje = karta.CelKompetencje; program.PrzedmiotOpis.CelUmiejetnosci = karta.CelUmiejetnosci; program.PrzedmiotOpis.CelWiedza = karta.CelWiedza; program.WarunkiZaliczenia = karta.WarunkiZaliczenia; //literatura podstawowa karta.LiteraturyPodstawowe = karta.LiteraturyPodstawowe.Where(lp => !string.IsNullOrWhiteSpace(lp.Nazwa)).ToList(); var istniejacaLiteraturaPodstawowa = program.PrzedmiotOpis .Literatury .Where(l => l.TypLiteratura.Nazwa == "Podstawowa").ToList(); var doUsuniecia = istniejacaLiteraturaPodstawowa .Where(l => !karta.LiteraturyPodstawowe.Any(lp => lp.Nazwa == l.Nazwa)).ToList(); doUsuniecia.ForEach(u => program.PrzedmiotOpis.Literatury.Remove(u)); var podstawiowyTypLiteratury = context.TypyLiteratury.First(tl => tl.Nazwa == "Podstawowa"); var doDodania = karta.LiteraturyPodstawowe.Where(l => !istniejacaLiteraturaPodstawowa.Any(ist => ist.Nazwa == l.Nazwa)).ToList(); doDodania.ForEach(dd => { var literatura = context.Literatury.FirstOrDefault(l => l.Nazwa == dd.Nazwa && l.TypLiteratura.Nazwa == "Podstawowa"); if (literatura == null) { literatura = new Literatura(); literatura.Nazwa = dd.Nazwa; literatura.TypLiteratura = podstawiowyTypLiteratury; } program.PrzedmiotOpis.Literatury.Add(literatura); }); //literatura uzupelniajaca karta.LiteraturyUzupelniajace = karta.LiteraturyUzupelniajace.Where(lu => !string.IsNullOrWhiteSpace(lu.Nazwa)).ToList(); var istniejacaLiteraturaUzupelniajaca = program.PrzedmiotOpis .Literatury .Where(l => l.TypLiteratura.Nazwa == "Uzupelniajaca").ToList(); var doUsunieciaUzup = istniejacaLiteraturaUzupelniajaca .Where(l => !karta.LiteraturyUzupelniajace.Any(lp => lp.Nazwa == l.Nazwa)).ToList(); doUsunieciaUzup.ForEach(v => program.PrzedmiotOpis.Literatury.Remove(v)); var podstawiowyTypLiteraturyUzup = context.TypyLiteratury.First(tl => tl.Nazwa == "Uzupelniajaca"); var doDodaniaUzup = karta.LiteraturyUzupelniajace.Where(l => !istniejacaLiteraturaUzupelniajaca.Any(ist => ist.Nazwa == l.Nazwa)).ToList(); doDodaniaUzup.ForEach(dd => { var literaturauzup = context.Literatury.FirstOrDefault(l => l.Nazwa == dd.Nazwa && l.TypLiteratura.Nazwa == "Uzupelniajaca" + "" + "" + "" + "" + "" + "" + ""); if (literaturauzup == null) { literaturauzup = new Literatura(); literaturauzup.Nazwa = dd.Nazwa; literaturauzup.TypLiteratura = podstawiowyTypLiteraturyUzup; } program.PrzedmiotOpis.Literatury.Add(literaturauzup); }); // //zrodla dodatkowe karta.ZrodlaDodatkowe = karta.ZrodlaDodatkowe.Where(lu => !string.IsNullOrWhiteSpace(lu.Nazwa)).ToList(); var istniejaceZrodlaDodatkowe = program.PrzedmiotOpis .Literatury .Where(l => l.TypLiteratura.Nazwa == "Dodatkowe").ToList(); var doUsunieciaDodat = istniejaceZrodlaDodatkowe .Where(l => !karta.ZrodlaDodatkowe.Any(lp => lp.Nazwa == l.Nazwa)).ToList(); doUsunieciaDodat.ForEach(v => program.PrzedmiotOpis.Literatury.Remove(v)); var podstawiowyTypDodat = context.TypyLiteratury.First(tl => tl.Nazwa == "Dodatkowe"); var doDodaniaDodat = karta.ZrodlaDodatkowe.Where(l => !istniejaceZrodlaDodatkowe.Any(ist => ist.Nazwa == l.Nazwa)).ToList(); doDodaniaDodat.ForEach(dd => { var zrodladodat = context.Literatury.FirstOrDefault(l => l.Nazwa == dd.Nazwa && l.TypLiteratura.Nazwa == "Dodatkowe"); if (zrodladodat == null) { zrodladodat = new Literatura(); zrodladodat.Nazwa = dd.Nazwa; zrodladodat.TypLiteratura = podstawiowyTypDodat; } program.PrzedmiotOpis.Literatury.Add(zrodladodat); }); //pytania karta.Pytania = karta.Pytania.Where(lp => !string.IsNullOrWhiteSpace(lp.Nazwa)).ToList(); var istniejacaPytania = program.Pytania.ToList(); var doUsunieciaPytania = istniejacaPytania .Where(l => !karta.Pytania.Any(lp => lp.Nazwa == l.Nazwa)).ToList(); doUsunieciaPytania.ForEach(u => program.Pytania.Remove(u)); var doDodaniaPytania = karta.Pytania.Where(l => !istniejacaPytania.Any(ist => ist.Nazwa == l.Nazwa)).ToList(); doDodaniaPytania.ForEach(dd => { var pytania = context.Pytania.FirstOrDefault(l => l.Nazwa == dd.Nazwa); if (pytania == null) { pytania = new Pytanie(); pytania.Nazwa = dd.Nazwa; } program.Pytania.Add(pytania); }); //metody podajace var doUsunieciaMP = program.MetodyDydaktyczne .Where(l => l.MetodyDydaktyczne.GrupyMetodDydaktycznych != null) .ToList(); doUsunieciaMP.ForEach(v => context.ProgramMetody.Remove(v)); for (var i = 0; i < karta.MetodyPodajaceIds.Count; i++) { var mp = new ProgramMetodyDydaktyczne(); mp.MetodyDydaktyczne = context.Metody.Find(karta.MetodyPodajaceIds[i].MetodaId); mp.ProgramId = program.Id; mp.Skrot = karta.MetodyPodajaceIds[i].Skrot; program.MetodyDydaktyczne.Add(mp); } for (var i = 0; i < karta.MetodyPraktyczneIds.Count; i++) { var mc = new ProgramMetodyDydaktyczne(); mc.MetodyDydaktyczne = context.Metody.Find(karta.MetodyPraktyczneIds[i].MetodaId); mc.ProgramId = program.Id; mc.Skrot = karta.MetodyPraktyczneIds[i].Skrot; program.MetodyDydaktyczne.Add(mc); } for (var i = 0; i < karta.MetodyProblemoweIds.Count; i++) { var ms = new ProgramMetodyDydaktyczne(); ms.MetodyDydaktyczne = context.Metody.Find(karta.MetodyProblemoweIds[i].MetodaId); ms.ProgramId = program.Id; ms.Skrot = karta.MetodyProblemoweIds[i].Skrot; program.MetodyDydaktyczne.Add(ms); } for (var i = 0; i < karta.MetodyEksponujaceIds.Count; i++) { var me = new ProgramMetodyDydaktyczne(); me.MetodyDydaktyczne = context.Metody.Find(karta.MetodyEksponujaceIds[i].MetodaId); me.ProgramId = program.Id; me.Skrot = karta.MetodyEksponujaceIds[i].Skrot; program.MetodyDydaktyczne.Add(me); } //metody oceniania var doUsunieciaMO = program.MetodyOceniania.ToList(); doUsunieciaMO.ForEach(v => context.ProgramMetodyOceniania.Remove(v)); for (var i = 0; i < karta.MetodyOcenianiaIds.Count; i++) { var mo = new ProgramMetodyOceniania(); mo.MetodyOceniania = context.MetodyOceniania.Find(karta.MetodyOcenianiaIds[i].MetodaId); mo.ProgramId = program.Id; mo.Skrot = karta.MetodyOcenianiaIds[i].Skrot; program.MetodyOceniania.Add(mo); } // tresci program.Tresci.ToList() .ForEach(t => context.Tresci.Remove(t)); karta.Godziny.ForEach(g => { for (var i = 0; i < g.Tresci.Count; i++) { program.Tresci.Add(new Tresci() { Opis = g.Tresci[i].Nazwa, Skrot = g.Tresci[i].Skrot, TypLiczbaGodzinId = g.TypLiczbaGodzinId }); } }); // efekty program.Efekty.ToList().ForEach(e => { e.Tresci.ToList().ForEach(t => context.ProgramEfektTresci.Remove(t)); e.MetodyDydaktyczne.ToList().ForEach(t => context.ProgramEfektMetodaDydaktyczna.Remove(t)); e.MetodyOceniania.ToList().ForEach(t => context.ProgramEfektMetodaOceniania.Remove(t)); context.ProgramEfekty.Remove(e); }); karta.Efekty.ForEach(e => { var metodyDydaktyczne = e.WybraneMetodyEksponujace.Select(g => { var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Eksponujące"); return(new ProgramEfektMetodaDydaktyczna() { ProgramMetodyDydaktyczne = metoda }); }).ToList(); metodyDydaktyczne.AddRange(e.WybraneMetodyPodajace.Select(g => { var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Podające"); return(new ProgramEfektMetodaDydaktyczna() { ProgramMetodyDydaktyczne = metoda }); }).ToList()); metodyDydaktyczne.AddRange(e.WybraneMetodyPraktyczne.Select(g => { var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Praktyczne"); return(new ProgramEfektMetodaDydaktyczna() { ProgramMetodyDydaktyczne = metoda }); }).ToList()); metodyDydaktyczne.AddRange(e.WybraneMetodyProblemowe.Select(g => { var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Problemowe"); return(new ProgramEfektMetodaDydaktyczna() { ProgramMetodyDydaktyczne = metoda }); }).ToList()); var efekt = new ProgramEfekt() { EfektId = e.Id, WymaganiaWstepne = e.WymaganiaWstepne, PrzedmiotoweEfektyKsztalcenia = e.PrzedmiotoweEfektyKsztalcenia, Tresci = e.Godziny.SelectMany(g => { var tresci = g.WybraneTresci.Select(t => program.Tresci.First(tt => tt.Skrot == t && tt.TypLiczbaGodzinId == g.TypLiczbaGodzinId)); return(tresci.Select(t => new ProgramEfektTresc() { Tresci = t })); }).ToList(), MetodyDydaktyczne = metodyDydaktyczne, MetodyOceniania = e.WybraneMetodyOceniania.Select(g => { var metoda = program.MetodyOceniania.FirstOrDefault(mt => mt.Skrot == g); return(new ProgramEfektMetodaOceniania() { ProgramMetodyOceniania = metoda }); }).ToList() }; program.Efekty.Add(efekt); }); program.LiczbyGodzin.ToList().ForEach(lg => { lg.FormaPracyGodziny.ToList().ForEach(t => context.ProgramFormaPracyGodziny.Remove(t)); lg.FormaPracyGodziny.Clear(); }); karta.FormaPracy.ForEach(fp => { fp.Dzienne.ForEach(d => { var liczbaGodzin = program.LiczbyGodzin.FirstOrDefault(lg => lg.TypLiczbaGodzinId == d.TypLiczbaGodzinId); liczbaGodzin.FormaPracyGodziny.Add(new ProgramFormaPracyGodzina() { Dzienna = true, FormaPracyId = fp.FormaPracyId, Godzin = d.Godzin, }); }); fp.Zaoczne.ForEach(d => { var liczbaGodzin = program.LiczbyGodzin.FirstOrDefault(lg => lg.TypLiczbaGodzinId == d.TypLiczbaGodzinId); liczbaGodzin.FormaPracyGodziny.Add(new ProgramFormaPracyGodzina() { Dzienna = false, FormaPracyId = fp.FormaPracyId, Godzin = d.Godzin, }); }); }); context.Entry(program).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); return(Json(new { success = true })); }