public JsonResult Save(Models.Sinavlar Sinavlar) { try { db.Database.ExecuteSqlCommand("TRUNCATE TABLE [Sinavlar]"); db.SaveChanges(); Models.SinavHaftasi Shaftasi = db.SinavHaftasi.FirstOrDefault(); var Dersler = db.Dersler.ToList().OrderBy(p => p.Donem & p.OgrenciSayisi); var Siniflar = db.Siniflar.ToList(); DateTime BasDt = Convert.ToDateTime(Shaftasi.BaslangicTarihi); DateTime BitDt = Convert.ToDateTime(Shaftasi.BitisTarihi); DateTime SinavGunuDt = BasDt; int Saat = 9; Models.Sinavlar Sinav = new Models.Sinavlar(); do { if (SinavGunuDt.DayOfWeek != DayOfWeek.Saturday && SinavGunuDt.DayOfWeek != DayOfWeek.Sunday) // Tatil günü değil ise { foreach (var DersItem in Dersler) { foreach (var SinifItem in Siniflar) { if (SinifItem.KontejyanSayisi > DersItem.OgrenciSayisi) { Sinav.DersId = DersItem.Id; Sinav.SinifId = SinifItem.Id; Sinav.SınavHaftasiId = Shaftasi.Id; Sinav.SınavTarihi = SinavGunuDt; Sinav.Saat = Saat; db.Sinavlar.Add(Sinav); db.SaveChanges(); break; } } Saat += 2; // Sınav if (Saat == 17) { SinavGunuDt = SinavGunuDt.AddDays(1); Saat = 9; } else { Saat++; // Ara } } break; } }while (SinavGunuDt == BitDt); return(Json(Models.Status.Result.Succes, JsonRequestBehavior.AllowGet)); // Success } catch (Exception ex) { return(Json(ex.ToString(), JsonRequestBehavior.AllowGet)); throw; } }
public ActionResult Save2() { try { Models.SinavHaftasi Shaftasi = db.SinavHaftasi.FirstOrDefault(); var Dersler = db.Dersler.ToList().OrderBy(p => p.Donem); var Siniflar = db.Siniflar.ToList(); DateTime BasDt = Convert.ToDateTime(Shaftasi.BaslangicTarihi); DateTime BitDt = Convert.ToDateTime(Shaftasi.BitisTarihi); DateTime SinavGunuDt = BasDt; int Saat = 9; Models.Sinavlar Sinav = new Models.Sinavlar(); foreach (var DersItem in Dersler) { foreach (var SinifItem in Siniflar) { do { if (SinavGunuDt.DayOfWeek != DayOfWeek.Saturday && SinavGunuDt.DayOfWeek != DayOfWeek.Sunday) // Tatil günü değil ise { if (SinifItem.KontejyanSayisi > DersItem.OgrenciSayisi) { Sinav.DersId = DersItem.Id; Sinav.SinifId = SinifItem.Id; Sinav.SınavHaftasiId = Shaftasi.Id; Sinav.SınavTarihi = SinavGunuDt; Sinav.Saat = Saat; db.Sinavlar.Add(Sinav); db.SaveChanges(); break; } } } while (SinavGunuDt == BitDt); } } return(View()); } catch (Exception ex) { return(Json(ex.ToString(), JsonRequestBehavior.AllowGet)); throw; } }
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 })); } }