Example #1
0
        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"));
        }
Example #2
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
                }));
            }
        }