Ejemplo n.º 1
0
        public async Task <ActionResult <AossSorular> > PostAossSorular(AossSorular aossSorular)
        {
            _context.AossSorular.Add(aossSorular);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetAossSorular), new { id = aossSorular.Id }, aossSorular));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PutAossSorular(long id, AossSorular aossSorular)
        {
            if (id != aossSorular.Id)
            {
                return(BadRequest());
            }

            _context.Entry(aossSorular).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AossSorularExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 3
0
        public string soruIs(int OnlineSinavOgrenciId)
        {
            int dogruS = 0, yanlisS = 0, bosS = 0; float puan = 0;
            AossOnlineSinavOgrenci sinav = _context.AossOnlineSinavOgrenci.Where(x => x.Id == OnlineSinavOgrenciId).FirstOrDefault();
            List <AossOnlineSinavOgrenciSorular> sorular = _context.AossOnlineSinavOgrenciSorular.Where(x => x.OnlineSinavOgrenciId == sinav.Id).ToList();
            int kacSoru = _context.AossOnlineSinavSorular.Where(x => x.OnlineSinavId == sinav.OnlineSinavId).Count();
            AossZorlukPuanlama zorlukP   = _context.AossZorlukPuanlama.Where(x => x.OnlineSinavId == sinav.OnlineSinavId).FirstOrDefault();

            foreach (var soru in sorular)
            {
                if (soru.IsaretlenenCevap == soru.DogruCevap)
                {
                    AossSorular zorlukAl = _context.AossSorular.Where(x => x.Id == soru.SoruId).FirstOrDefault();
                    if (zorlukAl.Zorluk == "ZOR")
                    {
                        puan += zorlukP.ZorPuan;
                    }
                    else if (zorlukAl.Zorluk == "ORTA")
                    {
                        puan += zorlukP.OrtaPuan;
                    }
                    else if (zorlukAl.Zorluk == "KOLAY")
                    {
                        puan += zorlukP.OrtaPuan;
                    }
                    dogruS++;
                }
                else if (soru.IsaretlenenCevap != soru.DogruCevap)
                {
                    yanlisS++;
                }
            }
            if (kacSoru != dogruS + yanlisS)
            {
                bosS = Math.Abs(dogruS - yanlisS);
            }
            else
            {
                bosS = 0;
            }
            AossOnlineSinavOgrenci kayit = new AossOnlineSinavOgrenci();

            kayit.Id                    = sinav.Id;
            kayit.OgId                  = sinav.OgId;
            kayit.BosS                  = bosS;
            kayit.Puan                  = Convert.ToInt32(puan);
            kayit.YanlisS               = yanlisS;
            kayit.OnlineSinavId         = sinav.OnlineSinavId;
            kayit.DogruS                = sinav.OnlineSinavId;
            _context.Entry(kayit).State = EntityState.Modified;
            _context.SaveChangesAsync();
            return(puan.ToString());
        }
Ejemplo n.º 4
0
        public string hataliSoru(long soruId, long hocaId)
        {
            MailMessage mesaj   = new MailMessage();
            SmtpClient  istemci = new SmtpClient();

            istemci.Credentials = new System.Net.NetworkCredential("*****@*****.**", "1a2O3s4S.");
            istemci.Port        = 587;
            istemci.Host        = "smtp.gmail.com";
            istemci.EnableSsl   = true;

            AossSorular soru = _context.AossSorular.Where(x => x.Id == soruId).FirstOrDefault();

            if (soru == null)
            {
                return("Hata: Yollanan Soru Idsi Mevcut Değil");
            }
            else
            {
                List <AossHoca> hocalar = _context.AossHoca.Where(x => x.Alani == soru.SoruAlani).ToList();
                if (hocalar == null)
                {
                    return("Hata: Yollanan Hoca Idsi Mevcut Değil");
                }
                else
                {
                    try
                    {
                        foreach (var hoca in hocalar)
                        {
                            mesaj.To.Add(hoca.Mail);
                        }
                        mesaj.From    = new MailAddress("*****@*****.**");
                        mesaj.Subject = "Hatalı Soru";
                        mesaj.Body    = "Hatalı İşaretlenen Sorunun İdsi:" + soru.Id + " Soruyu Hatalı Olarak Belirten Hoca: " + hocaId + Environment.NewLine + "Lütfen sisteme girip sorunun hatalı olup olmamasını belirtiniz.";
                        istemci.Send(mesaj);
                        AossHataliSorular aossHataliSorular = new AossHataliSorular();
                        aossHataliSorular.SoruId = soru.Id;
                        aossHataliSorular.Alani  = soru.SoruAlani;
                        _context.AossHataliSorular.Add(aossHataliSorular);
                        _context.SaveChangesAsync();
                        return("Mailler Yollandı Ve Soru Oylama İşlemine Kadar Hatalı Olarak İşaretlendi");
                    }
                    catch (System.Exception)
                    {
                        return("Mail Yollanırken Hata İle Karşılaşıldı");
                    }
                }
            }
        }
        public async Task <IActionResult> PutAossHataliSorularHatali(long id)
        {
            AossSorular       hataliSoru0       = _context.AossSorular.Where(x => x.Id == id).FirstOrDefault();
            AossHataliSorular aossHataliSorular = new AossHataliSorular();
            AossHataliSorular hataliSoru        = _context.AossHataliSorular.Where(x => x.SoruId == hataliSoru0.Id).FirstOrDefault();
            int kacHoca       = _context.AossHoca.Where(x => x.Alani == hataliSoru.Alani).Count();
            int toplamOyVeren = hataliSoru.oylamaHatali + hataliSoru.oylamaHatasiz;

            aossHataliSorular.Id            = hataliSoru.Id;
            aossHataliSorular.SoruId        = hataliSoru.SoruId;
            aossHataliSorular.Alani         = hataliSoru.Alani;
            aossHataliSorular.oylamaHatali  = hataliSoru.oylamaHatali + 1;
            aossHataliSorular.oylamaHatasiz = hataliSoru.oylamaHatasiz;
            if (toplamOyVeren + 1 == kacHoca)
            {
                if (hataliSoru.oylamaHatali + 1 - hataliSoru.oylamaHatasiz <= 0)
                {
                    aossHataliSorular.hataliMi = true;
                }
                else
                {
                    aossHataliSorular.hataliMi = false;
                }
            }
            _context.Entry(aossHataliSorular).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AossHataliSorularExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 6
0
        public long Giris(int OnlineSinavId)
        {
            AossOnlineSinav sinav = _context.AossOnlineSinav.Where(x => x.Id == OnlineSinavId).FirstOrDefault();

            if (sinav == null)
            {
                return(-1);
            }
            else
            {
                List <AossOgrenci> ogrenciler = _context.AossOgrenci.Where(x => x.Alani == sinav.Alan).ToList();
                foreach (var ogrenci in ogrenciler)
                {
                    AossOnlineSinavOgrenci aossOnlineSinavOgrenci = new AossOnlineSinavOgrenci();
                    aossOnlineSinavOgrenci.OgId          = Convert.ToInt32(ogrenci.Id);
                    aossOnlineSinavOgrenci.OnlineSinavId = OnlineSinavId;
                    _context.AossOnlineSinavOgrenci.Add(aossOnlineSinavOgrenci);
                    _context.SaveChangesAsync();

                    List <AossOnlineSinavSorular> sorular = _context.AossOnlineSinavSorular.Where(x => x.OnlineSinavId == OnlineSinavId).ToList();
                    foreach (var soru in sorular)
                    {
                        AossSorular gelensoru = _context.AossSorular.Where(x => x.Id == soru.SoruId).FirstOrDefault();
                        Random      rastgele  = new Random();
                        int[]       kontrol   = new int[6];
                        int         say       = 0;
                        bool        durum     = false;
                        while (true)
                        {
                            int a = rastgele.Next(1, 5);
                            for (int i = 0; i < say; i++)
                            {
                                if (kontrol[i] == a)
                                {
                                    durum = true;
                                }
                            }
                            if (!durum)
                            {
                                kontrol[say] = a;
                                say++;
                            }
                            if (say == 4)
                            {
                                break;
                            }
                        }
                        int b     = rastgele.Next(1, 5);
                        int dogru = 0;
                        kontrol[5] = b;
                        AossOnlineSinavOgrenciSorular ogSoru = new AossOnlineSinavOgrenciSorular();
                        for (int i = 0; i < 6; i = i + 2)
                        {
                            if (i == 4)
                            {
                                if (dogru == kontrol[5])
                                {
                                    break;
                                }
                            }
                            if (kontrol[i] == 1)
                            {
                                if (kontrol[i + 1] == 2)
                                {
                                    dogru             = 2;
                                    ogSoru.A          = gelensoru.Cevap1;
                                    ogSoru.B          = gelensoru.DogruCevap;
                                    ogSoru.DogruCevap = "B";
                                }
                                else if (kontrol[i + 1] == 3)
                                {
                                    dogru             = 3;
                                    ogSoru.A          = gelensoru.Cevap2;
                                    ogSoru.C          = gelensoru.DogruCevap;
                                    ogSoru.DogruCevap = "C";
                                }
                                else if (kontrol[i + 1] == 4)
                                {
                                    dogru             = 4;
                                    ogSoru.A          = gelensoru.Cevap3;
                                    ogSoru.D          = gelensoru.DogruCevap;
                                    ogSoru.DogruCevap = "D";
                                }
                                else if (kontrol[i + 1] == 5)
                                {
                                    dogru             = 5;
                                    ogSoru.A          = gelensoru.Cevap4;
                                    ogSoru.E          = gelensoru.DogruCevap;
                                    ogSoru.DogruCevap = "E";
                                }
                            }
                            else if (kontrol[i] == 2)
                            {
                                if (kontrol[i + 1] == 1)
                                {
                                    dogru             = 2;
                                    ogSoru.B          = gelensoru.DogruCevap;
                                    ogSoru.A          = gelensoru.Cevap1;
                                    ogSoru.DogruCevap = "B";
                                }
                                else if (kontrol[i + 1] == 3)
                                {
                                    ogSoru.B = gelensoru.Cevap2;
                                    ogSoru.C = gelensoru.Cevap1;
                                }
                                else if (kontrol[i + 1] == 4)
                                {
                                    ogSoru.B = gelensoru.Cevap3;
                                    ogSoru.D = gelensoru.Cevap1;
                                }
                                else if (kontrol[i + 1] == 5)
                                {
                                    ogSoru.B = gelensoru.Cevap4;
                                    ogSoru.E = gelensoru.Cevap1;
                                }
                            }
                            else if (kontrol[i] == 3)
                            {
                                if (kontrol[i + 1] == 1)
                                {
                                    dogru             = 3;
                                    ogSoru.C          = gelensoru.DogruCevap;
                                    ogSoru.A          = gelensoru.Cevap2;
                                    ogSoru.DogruCevap = "C";
                                }
                                else if (kontrol[i + 1] == 2)
                                {
                                    ogSoru.C = gelensoru.Cevap1;
                                    ogSoru.B = gelensoru.Cevap2;
                                }
                                else if (kontrol[i + 1] == 4)
                                {
                                    ogSoru.C = gelensoru.Cevap3;
                                    ogSoru.D = gelensoru.Cevap2;
                                }
                                else if (kontrol[i + 1] == 5)
                                {
                                    ogSoru.C = gelensoru.Cevap4;
                                    ogSoru.E = gelensoru.Cevap2;
                                }
                            }
                            else if (kontrol[i] == 4)
                            {
                                if (kontrol[i + 1] == 1)
                                {
                                    dogru             = 4;
                                    ogSoru.D          = gelensoru.DogruCevap;
                                    ogSoru.A          = gelensoru.Cevap3;
                                    ogSoru.DogruCevap = "D";
                                }
                                else if (kontrol[i + 1] == 2)
                                {
                                    ogSoru.D = gelensoru.Cevap1;
                                    ogSoru.B = gelensoru.Cevap3;
                                }
                                else if (kontrol[i + 1] == 3)
                                {
                                    ogSoru.D = gelensoru.Cevap2;
                                    ogSoru.D = gelensoru.Cevap3;
                                }
                                else if (kontrol[i + 1] == 5)
                                {
                                    ogSoru.D = gelensoru.Cevap4;
                                    ogSoru.E = gelensoru.Cevap3;
                                }
                            }
                            else if (kontrol[i] == 5)
                            {
                                if (kontrol[i + 1] == 1)
                                {
                                    dogru             = 5;
                                    ogSoru.E          = gelensoru.DogruCevap;
                                    ogSoru.A          = gelensoru.Cevap4;
                                    ogSoru.DogruCevap = "E";
                                }
                                else if (kontrol[i + 1] == 2)
                                {
                                    ogSoru.E = gelensoru.Cevap1;
                                    ogSoru.B = gelensoru.Cevap4;
                                }
                                else if (kontrol[i + 1] == 3)
                                {
                                    ogSoru.E = gelensoru.Cevap2;
                                    ogSoru.C = gelensoru.Cevap4;
                                }
                                else if (kontrol[i + 1] == 4)
                                {
                                    ogSoru.E = gelensoru.Cevap3;
                                    ogSoru.D = gelensoru.Cevap4;
                                }
                            }
                            if (i == 2)
                            {
                                if (dogru == 0)
                                {
                                    ogSoru.DogruCevap = "A";
                                    dogru             = 1;
                                }
                            }
                        }
                        AossOnlineSinavOgrenci eklenenOnlineSinavOg = _context.AossOnlineSinavOgrenci.Where(x => x.OgId == ogrenci.Id && x.OnlineSinavId == OnlineSinavId).FirstOrDefault();
                        ogSoru.OnlineSinavOgrenciId = eklenenOnlineSinavOg.Id;
                        ogSoru.Soru   = gelensoru.Soru;
                        ogSoru.SoruId = gelensoru.Id;
                        _context.AossOnlineSinavOgrenciSorular.Add(ogSoru);
                        _context.SaveChangesAsync();
                    }
                }
            }
            return(1);
        }
Ejemplo n.º 7
0
        public async Task <ActionResult <AossOnlineSinavSorular> > PostAossOnlineSinavSorular(AossOnlineSinavSorular aossOnlineSinavSorular)
        {
            float yeniGelen = 0, toplamPuan = 0;
            int   kolayS = 0, zorS = 0, ortaS = 0, diziBoyut = 0, dizidesira = 0;
            AossZorlukPuanlama            seciliSinavZorluk = _context.AossZorlukPuanlama.Where(x => x.OnlineSinavId == aossOnlineSinavSorular.OnlineSinavId).FirstOrDefault();
            List <AossOnlineSinavSorular> sorular           = _context.AossOnlineSinavSorular.Where(x => x.OnlineSinavId == aossOnlineSinavSorular.OnlineSinavId).ToList();

            AossSorular eklenmekIstenen                     = _context.AossSorular.Where(x => x.Id == aossOnlineSinavSorular.SoruId).FirstOrDefault();
            int         kolaySoruSayisi                     = _context.AossSorular.Where(x => x.SoruAlani == eklenmekIstenen.SoruAlani && x.Zorluk == "KOLAY").Count();
            int         ortaSoruSayisi                      = _context.AossSorular.Where(x => x.SoruAlani == eklenmekIstenen.SoruAlani && x.Zorluk == "ORTA").Count();
            int         zorSoruSayisi                       = _context.AossSorular.Where(x => x.SoruAlani == eklenmekIstenen.SoruAlani && x.Zorluk == "ZOR").Count();


            if (eklenmekIstenen.Zorluk == "ZOR")
            {
                zorS     += 1;
                yeniGelen = seciliSinavZorluk.ZorPuan;
            }
            else if (eklenmekIstenen.Zorluk == "ORTA")
            {
                ortaS    += 1;
                yeniGelen = seciliSinavZorluk.OrtaPuan;
            }
            else if (eklenmekIstenen.Zorluk == "KOLAY")
            {
                kolayS   += 1;
                yeniGelen = seciliSinavZorluk.KolayPuan;
            }
            foreach (var soru in sorular)
            {
                AossSorular seciliSoru = _context.AossSorular.Where(x => x.Id == soru.SoruId).FirstOrDefault();
                if (seciliSoru.Zorluk == "ZOR")
                {
                    zorS       += 1;
                    toplamPuan += seciliSinavZorluk.ZorPuan;
                }
                else if (seciliSoru.Zorluk == "ORTA")
                {
                    ortaS      += 1;
                    toplamPuan += seciliSinavZorluk.OrtaPuan;
                }
                else if (seciliSoru.Zorluk == "KOLAY")
                {
                    kolayS     += 1;
                    toplamPuan += seciliSinavZorluk.KolayPuan;
                }
            }
            for (int i = 0; i <= kolaySoruSayisi; i++)
            {
                for (int j = 0; j <= ortaSoruSayisi; j++)
                {
                    for (int k = 0; k <= zorSoruSayisi; k++)
                    {
                        if (i * seciliSinavZorluk.KolayPuan + j * seciliSinavZorluk.OrtaPuan + k * seciliSinavZorluk.ZorPuan == 100)
                        {
                            diziBoyut++;
                        }
                    }
                }
            }
            float[,] kombinasyonlar = new float[diziBoyut, 3];
            for (int i = 0; i <= kolaySoruSayisi; i++)
            {
                for (int j = 0; j <= ortaSoruSayisi; j++)
                {
                    for (int k = 0; k <= zorSoruSayisi; k++)
                    {
                        if (i * seciliSinavZorluk.KolayPuan + j * seciliSinavZorluk.OrtaPuan + k * seciliSinavZorluk.ZorPuan == 100)
                        {
                            kombinasyonlar[dizidesira, 0] = i;
                            kombinasyonlar[dizidesira, 1] = j;
                            kombinasyonlar[dizidesira, 2] = k;
                            dizidesira++;
                        }
                    }
                }
            }
            if (toplamPuan + yeniGelen <= 100)
            {
                if (eklenmekIstenen.Zorluk == "KOLAY")
                {
                    for (int i = 0; i < diziBoyut; i++)
                    {
                        if (kolayS <= kombinasyonlar[i, 0])
                        {
                            _context.AossOnlineSinavSorular.Add(aossOnlineSinavSorular);
                            await _context.SaveChangesAsync();

                            return(CreatedAtAction("GetAossOnlineSinavSorular", new { id = aossOnlineSinavSorular.Id }, aossOnlineSinavSorular));
                        }
                    }
                    throw new ArgumentException("Kolay Soru Ekleme Hakkınız Bitti");
                }
                else if (eklenmekIstenen.Zorluk == "ORTA")
                {
                    for (int i = 0; i < diziBoyut; i++)
                    {
                        if (ortaS <= kombinasyonlar[i, 1])
                        {
                            _context.AossOnlineSinavSorular.Add(aossOnlineSinavSorular);
                            await _context.SaveChangesAsync();

                            return(CreatedAtAction("GetAossOnlineSinavSorular", new { id = aossOnlineSinavSorular.Id }, aossOnlineSinavSorular));
                        }
                    }
                    throw new ArgumentException("ORTA Soru Ekleme Hakkınız Bitti");
                }
                else if (eklenmekIstenen.Zorluk == "ZOR")
                {
                    for (int i = 0; i < diziBoyut; i++)
                    {
                        if (zorS <= kombinasyonlar[i, 2])
                        {
                            _context.AossOnlineSinavSorular.Add(aossOnlineSinavSorular);
                            await _context.SaveChangesAsync();

                            return(CreatedAtAction("GetAossOnlineSinavSorular", new { id = aossOnlineSinavSorular.Id }, aossOnlineSinavSorular));
                        }
                    }
                    throw new ArgumentException("Zor Soru Ekleme Hakkınız Bitti ");
                }
                throw new ArgumentException("Hata");
            }
            else
            {
                throw new ArgumentException("Bu soruyu ekleyemezsiniz. 100 puan aşılamaz.");
            }
        }