예제 #1
0
        // sınav süresi
        protected void timerSinavSuresi_Tick(object sender, EventArgs e)
        {
            if (0 > DateTime.Compare(DateTime.Now, DateTime.Parse(Session["timeout"].ToString())))
            {
                // Eğer süre 0 dan büyük ise kalan süre Labelde gösteriliyor
                lblSure.Text = ((Int32)DateTime.Parse(Session["timeout"].ToString()).Subtract(DateTime.Now).TotalSeconds).ToString() + " saniye";
            }
            else
            {
                // süre 0 ve küçük ise sürenin bittiği Labele yazdırılıyor
                lblSure.Text       = "Süreniz Bitti!";
                Session["timeout"] = null;

                ProcessQuestion();
                SinavOlustur sinav = (SinavOlustur)Session["sinav"];

                panelSinavSonucu.Visible = true;
                beforeCreateExam.Visible = false;
                afterCreateExam.Visible  = false;

                // sınav sonucunun gösterilmesi
                lblDers.Text    = dropDersler.SelectedItem.Text;
                lblSinav.Text   = dropSinavlar.SelectedItem.Text;
                lblBaslama.Text = sinav.baslama_zamani.ToString();
                TimeSpan ts = DateTime.Now.Subtract(sinav.baslama_zamani);
                lblMin.Text        = ts.Minutes.ToString();
                lblNquestions.Text = sinav.soru_sayisi.ToString();

                // doğru cevap kontrolu
                int cnt = 0;
                foreach (Sorular q in sinav.sorular)
                {
                    if (q.DogruMu())
                    {
                        cnt++;
                    }
                }

                lblNcans.Text      = cnt.ToString();
                sinav.dogru_sayisi = cnt;
                Session.Add("sinav", sinav);

                double sonuc = cnt * 100 / sinav.soru_sayisi;

                lblGrade.Text = "% " + sonuc;

                baglanti.Open();
                string     sorgu = "INSERT INTO Sonuclar VALUES(@kadi,@ders_adi,@sinav_adi,@soru_sayisi,@dogru_sayisi,@oran,@baslama,getdate())";
                SqlCommand komut = new SqlCommand(sorgu, baglanti);
                komut.Parameters.AddWithValue("@kadi", kullanici);
                komut.Parameters.AddWithValue("@ders_adi", dropDersler.SelectedItem.Text);
                komut.Parameters.AddWithValue("@sinav_adi", dropSinavlar.SelectedItem.Text);
                komut.Parameters.AddWithValue("@soru_sayisi", sinav.soru_sayisi);
                komut.Parameters.AddWithValue("@dogru_sayisi", sinav.dogru_sayisi);
                komut.Parameters.AddWithValue("@oran", sonuc);
                komut.Parameters.AddWithValue("@baslama", sinav.baslama_zamani);
                komut.ExecuteNonQuery();
                baglanti.Close();
            }
        }
예제 #2
0
        // cevap kontrolü
        public void ProcessQuestion()
        {
            SinavOlustur sinav = (SinavOlustur)Session["sinav"];
            Sorular      s     = sinav.sorular[sinav.soru_no];
            String       cevap;

            if (rdBtnCevap1.Checked)
            {
                cevap = "A";
            }
            else
            if (rdBtnCevap2.Checked)
            {
                cevap = "B";
            }
            else
            if (rdBtnCevap3.Checked)
            {
                cevap = "C";
            }
            else
            if (rdBtnCevap4.Checked)
            {
                cevap = "D";
            }
            else
            {
                cevap = "";
            }
            s.secilen_cvp = cevap;
            sinav.sorular[sinav.soru_no] = s;
            Session.Add("sinav", sinav);
        }
예제 #3
0
        // sınava başla
        protected void btnSinavaBasla_Click(object sender, EventArgs e)
        {
            if (dropDersler.Text.Equals("Ders Seçiniz") || dropSinavlar.Text.Equals("Sınav Seçiniz"))
            {
                lblUyari.Text = "Lütfen Ders ve Sınav seçiniz!";
            }
            else
            {
                try
                {
                    baglanti.Open();
                    SqlCommand select = new SqlCommand("SELECT * FROM Sonuclar WHERE kadi = '" + kullanici.ToString() + "' AND ders_adi = '" + dropDersler.SelectedItem.Text + "' AND sinav_adi = '" + dropSinavlar.SelectedItem.Text + "'", baglanti);

                    int varsa = Convert.ToInt32(select.ExecuteScalar());
                    if (varsa == 0)
                    {
                        beforeCreateExam.Visible = false;
                        afterCreateExam.Visible  = true;
                        panelSinavSonucu.Visible = false;

                        int ders_id  = Convert.ToInt32(dropDersler.SelectedValue);
                        int sinav_id = Convert.ToInt32(dropSinavlar.SelectedValue);

                        // sınav süresi vt den getiriliyor
                        lblSure.Text = "";
                        string     sorgu1 = "SELECT * FROM Sinavlar WHERE sinav_id = @sinav_id";
                        SqlCommand komut1 = new SqlCommand(sorgu1, baglanti);
                        komut1.Parameters.AddWithValue("@sinav_id", dropSinavlar.SelectedItem.Value);

                        SqlDataReader dr1 = komut1.ExecuteReader();

                        if (dr1.Read())
                        {
                            Session["timeout"] = DateTime.Now.AddSeconds(Convert.ToDouble(dr1["sinav_sure"]) * 60).ToString();
                        }

                        SinavOlustur sinav = new SinavOlustur(kullanici.ToString(), ders_id, sinav_id);
                        sinav.SoruGetir();
                        Session.Add("sinav", sinav);
                        DisplayQuestion();

                        lblDersAdi.Text  = dropDersler.SelectedItem.Text;
                        lblSinavAdi.Text = dropSinavlar.SelectedItem.Text;
                    }
                    else
                    {
                        lblUyari.Text = "Bu Sınavı Daha Önce Çözdünüz!";
                    }
                }
                catch (Exception ex)
                {
                    lblUyari.Text = "Hata : " + ex;
                }
                finally
                {
                    baglanti.Close();
                }
            }
        }
예제 #4
0
        // önceki soru
        protected void btnPrev_Click(object sender, EventArgs e)
        {
            SinavOlustur sinav = (SinavOlustur)Session["sinav"];

            sinav.soru_no--;
            Session.Add("sinav", sinav);
            DisplayQuestion();
        }
예제 #5
0
        // sonraki soru
        protected void btnNext_Click(object sender, EventArgs e)
        {
            ProcessQuestion();
            SinavOlustur sinav = (SinavOlustur)Session["sinav"];

            if (sinav.soru_no == sinav.soru_sayisi - 1)
            {
                panelSinavSonucu.Visible = true;
                beforeCreateExam.Visible = false;
                afterCreateExam.Visible  = false;

                // sınav sonucunun gösterilmesi
                lblDers.Text    = dropDersler.SelectedItem.Text;
                lblSinav.Text   = dropSinavlar.SelectedItem.Text;
                lblBaslama.Text = sinav.baslama_zamani.ToString();
                TimeSpan ts = DateTime.Now.Subtract(sinav.baslama_zamani);
                lblMin.Text        = ts.Minutes.ToString();
                lblNquestions.Text = sinav.soru_sayisi.ToString();

                // doğru cevap kontrolu
                int cnt = 0;
                foreach (Sorular q in sinav.sorular)
                {
                    if (q.DogruMu())
                    {
                        cnt++;
                    }
                }

                lblNcans.Text      = cnt.ToString();
                sinav.dogru_sayisi = cnt;
                Session.Add("sinav", sinav);

                double sonuc = cnt * 100 / sinav.soru_sayisi;

                lblGrade.Text = "% " + sonuc;

                baglanti.Open();
                string     sorgu = "INSERT INTO Sonuclar VALUES(@kadi,@ders_adi,@sinav_adi,@soru_sayisi,@dogru_sayisi,@oran,@baslama,getdate())";
                SqlCommand komut = new SqlCommand(sorgu, baglanti);
                komut.Parameters.AddWithValue("@kadi", kullanici);
                komut.Parameters.AddWithValue("@ders_adi", dropDersler.SelectedItem.Text);
                komut.Parameters.AddWithValue("@sinav_adi", dropSinavlar.SelectedItem.Text);
                komut.Parameters.AddWithValue("@soru_sayisi", sinav.soru_sayisi);
                komut.Parameters.AddWithValue("@dogru_sayisi", sinav.dogru_sayisi);
                komut.Parameters.AddWithValue("@oran", sonuc);
                komut.Parameters.AddWithValue("@baslama", sinav.baslama_zamani);
                komut.ExecuteNonQuery();
                baglanti.Close();
            }
            else
            {
                sinav.soru_no++;
                Session.Add("sinav", sinav);
                DisplayQuestion();
            }
        }
예제 #6
0
        // page load
        protected void Page_Load(object sender, EventArgs e)
        {
            kullanici = Session["kullanici"];

            if (kullanici == null)
            {
                hyperSession.Text    = "";
                btnMenuGiris.Visible = true;
                btnCikis.Visible     = false;
                Response.Redirect("Giris.aspx");
            }
            else
            {
                hyperSession.NavigateUrl = "Profil.aspx";
                btnMenuGiris.Visible     = false;
                btnCikis.Visible         = true;

                hyperSession.Text = "Hoşgeldin, " + kullanici.ToString();

                SinavOlustur sinav = (SinavOlustur)Session["sinav"];
                if (Session["sinav"] == null)
                {
                    Response.Redirect("Profil.aspx");
                }
                else
                {
                    DataList1.DataSource = sinav.sorular;
                    DataList1.DataBind();
                }
            }

            try
            {
                string     sorgu2 = "SELECT * FROM Dersler ORDER BY ders_id";
                SqlCommand komut2 = new SqlCommand(sorgu2, baglanti);
                baglanti.Open();
                SqlDataReader dr2 = komut2.ExecuteReader();
                lstMenuDersler.DataSource = dr2;
                lstMenuDersler.DataBind();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                baglanti.Close();
            }
        }
예제 #7
0
        // soru gösterimi
        public void DisplayQuestion()
        {
            SinavOlustur e = (SinavOlustur)Session["sinav"];

            lblSoruNo.Text = e.soru_no + 1 + " / " + e.soru_sayisi;
            lblTarih.Text  = e.baslama_zamani.ToString();

            Sorular s = e.sorular[e.soru_no];

            // sorunun ve cevaplarının gösterımı
            lblSoruAciklama.Text  = "<span style='color:blue;'>Soru : </span><br/>" + s.soru;
            imgSoruSekil.ImageUrl = s.resim;
            rdBtnCevap1.Text      = s.cvp1;
            rdBtnCevap2.Text      = s.cvp2;
            rdBtnCevap3.Text      = s.cvp3;
            rdBtnCevap4.Text      = s.cvp4;

            // radıo butonların temızlenmesı ve yenıden kullanılabılır hale getırılmesı
            rdBtnCevap1.Checked = false;
            rdBtnCevap2.Checked = false;
            rdBtnCevap3.Checked = false;
            rdBtnCevap4.Checked = false;

            // soru sayısının durumuna gore butonlar
            if (e.soru_no == 0)
            {
                btnPrev.Enabled = false;
            }
            else
            {
                btnPrev.Enabled = true;
            }

            if (e.soru_no == e.soru_sayisi - 1)
            {
                btnNext.Text = "Sınavı Bitir";
            }
            else
            {
                btnNext.Text = "Sonraki";
            }
        }
예제 #8
0
        // sınava başla
        protected void btnSinavaBasla_Click(object sender, EventArgs e)
        {
            if (dropDersler.Text.Equals("Ders Seçiniz") || dropSinavlar.Text.Equals("Sınav Seçiniz"))
            {
                lblUyari.Text = "Lütfen Ders ve Sınav seçiniz!";
            }
            else
            {
                try
                {
                    baglanti.Open();
                    SqlCommand select = new SqlCommand("SELECT * FROM Sonuclar WHERE kadi = '" + kullanici.ToString() + "' AND ders_adi = '" + dropDersler.SelectedItem.Text + "' AND sinav_adi = '" + dropSinavlar.SelectedItem.Text + "'", baglanti);

                    int varsa = Convert.ToInt32(select.ExecuteScalar());
                    if (varsa == 0)
                    {

                        beforeCreateExam.Visible = false;
                        afterCreateExam.Visible = true;
                        panelSinavSonucu.Visible = false;

                        int ders_id = Convert.ToInt32(dropDersler.SelectedValue);
                        int sinav_id = Convert.ToInt32(dropSinavlar.SelectedValue);

                        // sınav süresi vt den getiriliyor
                        lblSure.Text = "";
                        string sorgu1 = "SELECT * FROM Sinavlar WHERE sinav_id = @sinav_id";
                        SqlCommand komut1 = new SqlCommand(sorgu1, baglanti);
                        komut1.Parameters.AddWithValue("@sinav_id", dropSinavlar.SelectedItem.Value);

                        SqlDataReader dr1 = komut1.ExecuteReader();

                        if (dr1.Read())
                        {
                            Session["timeout"] = DateTime.Now.AddSeconds(Convert.ToDouble(dr1["sinav_sure"]) * 60).ToString();
                        }

                        SinavOlustur sinav = new SinavOlustur(kullanici.ToString(), ders_id, sinav_id);
                        sinav.SoruGetir();
                        Session.Add("sinav", sinav);
                        DisplayQuestion();

                        lblDersAdi.Text = dropDersler.SelectedItem.Text;
                        lblSinavAdi.Text = dropSinavlar.SelectedItem.Text;

                    }
                    else
                    {
                        lblUyari.Text = "Bu Sınavı Daha Önce Çözdünüz!";
                    }
                }
                catch (Exception ex)
                {
                    lblUyari.Text = "Hata : " + ex;
                }
                finally
                {
                    baglanti.Close();
                }
            }

        }