public IActionResult CreateSinav(SinavModel model) { var db = new koDBContext(); var sinav = new Sinavlar(); sinav.Baslik = model.baslik; db.Sinavlars.Add(sinav); db.SaveChanges(); var id = sinav.Id; var soru1 = new Sorular(); var soru2 = new Sorular(); var soru3 = new Sorular(); var soru4 = new Sorular(); soru1 = model.soru1; soru1.SoruNo = 1; soru1.SinavId = id; soru2 = model.soru2; soru2.SoruNo = 2; soru2.SinavId = id; soru3 = model.soru3; soru3.SoruNo = 3; soru3.SinavId = id; soru4 = model.soru4; soru4.SoruNo = 4; soru4.SinavId = id; db.Sorulars.Add(soru1); db.Sorulars.Add(soru2); db.Sorulars.Add(soru3); db.Sorulars.Add(soru4); db.SaveChanges(); return(RedirectToAction("Sinavlar", "Admin")); }
public ActionResult SinavList(Sinavlar sinav, PageListV form, FormCollection button, bool k = false, bool d = false, bool t = false, int page = 1) { sinav = _sinav; String sec = button["sec"]; if (sec != null) { string[] ids = button["sid"].Split(new char[] { ',' }); db.Sinavlar.Add(sinav); foreach (var id in ids) { int a = Convert.ToInt32(id); var soru = db.Sorular.Find(a); var cevap = db.Cevaplar.Where(x => x.Sid == a).SingleOrDefault(); Models.SinavKagıdı Sınav = new Models.SinavKagıdı(); if (cevap != null) { Sınav.CevapId = cevap.Cid; Sınav.Cevaplar = cevap; } Sınav.SoruId = soru.Sid; Sınav.Sorular = soru; Sınav.Sinavlar = sinav; Sınav.SınavId = sinav.Sınav_id; db.SinavKagıdı.Add(Sınav); db.SaveChanges(); } sinavım = db.Sinavlar.Where(x => x.Sınav_id == _sinav.Sınav_id).SingleOrDefault(); return(RedirectToRoute("SinavPdf")); } else { var soru = db.Sorular.Where(x => x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); int totalPostCount = 0; totalPostCount = db.Sorular.Where(x => x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).Count(); ViewBag.klasikSayi = db.Sorular.Where(x => x.Sturu == "Klasik" && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).Count(); ViewBag.testSayi = db.Sorular.Where(x => x.Sturu == "Test" && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).Count(); ViewBag.dogruyanlisSayi = db.Sorular.Where(x => x.Sturu == "Doğru_Yanlış" && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).Count(); ViewBag.ToplamSoru = totalPostCount; ViewBag.HangiDers = sinav.DersAdi; ViewBag.Sınavtipi = sinav.SınavTipi; ViewBag.Sınavtarihi = sinav.SınavTarihi; String a = button["durum"]; if (a != null) { page = 1; k = form.klasik; t = form.test; d = form.dogru; } List <Soru> listSoru = new List <Soru>(); if (k == false && d == false && t == true) { totalPostCount = ViewBag.testSayi; soru = db.Sorular.Where(x => x.Sturu == "Test" && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); } else if (k == true && d == false && t == false) { totalPostCount = ViewBag.klasikSayi; soru = db.Sorular.Where(x => x.Sturu == "Klasik" && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); } else if (k == false && d == true && t == false) { totalPostCount = ViewBag.dogruyanlisSayi; soru = db.Sorular.Where(x => x.Sturu == "Doğru_Yanlış" && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); } if (t == true && k == true && d == false) { totalPostCount = db.Sorular.Where(x => (x.Sturu == "Klasik" || x.Sturu == "Test") && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).Count(); soru = db.Sorular.Where(x => (x.Sturu == "Klasik" || x.Sturu == "Test") && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); } else if (t == true && d == true && k == false) { totalPostCount = db.Sorular.Where(x => (x.Sturu == "Doğru_Yanlış" || x.Sturu == "Test") && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).Count(); soru = db.Sorular.Where(x => (x.Sturu == "Doğru_Yanlış" || x.Sturu == "Test") && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); } else if (k == true && d == true && t == false) { totalPostCount = db.Sorular.Where(x => (x.Sturu == "Doğru_Yanlış" || x.Sturu == "Klasik") && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).Count(); soru = db.Sorular.Where(x => (x.Sturu == "Doğru_Yanlış" || x.Sturu == "Klasik") && x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); } //var soru = db.Sorular.Where(x => x.H_id == sinav.S_Hoca_id && x.Ders == sinav.DersAdi).OrderBy(x => x.Sid).Skip((page - 1) * postsPerPage).Take(postsPerPage).ToList(); foreach (var i in soru) { Soru _soru = new Soru(); _soru.H_id = i.H_id; _soru.Sid = i.Sid; _soru.Spuan = i.Spuan; _soru.Smetni = i.Smetni; _soru.Sturu = i.Sturu; var cevap = db.Cevaplar.Where(x => x.Sid == i.Sid).SingleOrDefault(); if (cevap != null) { _soru.A = cevap.A; _soru.B = cevap.B; _soru.C = cevap.C; _soru.D = cevap.D; _soru.E = cevap.E; _soru.DogruCevap = cevap.DogruCevap; } listSoru.Add(_soru); } return(View(new PageListV() { Sorularımdr = new PageData <Soru>(listSoru, totalPostCount, page, postsPerPage), test = t, klasik = k, dogru = d })); } }