public async Task <ActionResult <AossSorular> > PostAossSorular(AossSorular aossSorular) { _context.AossSorular.Add(aossSorular); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetAossSorular), new { id = aossSorular.Id }, aossSorular)); }
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()); }
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()); }
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()); }
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); }
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."); } }