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;
            }
        }
Example #3
0
        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
                }));
            }
        }