public async Task <IActionResult> PutAossZorlukPuanlama(long id, AossZorlukPuanlama aossZorlukPuanlama) { if (id != aossZorlukPuanlama.Id) { return(BadRequest()); } _context.Entry(aossZorlukPuanlama).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AossZorlukPuanlamaExists(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 async Task <ActionResult <AossZorlukPuanlama> > PostAossZorlukPuanlama(AossZorlukPuanlama aossZorlukPuanlama) { _context.AossZorlukPuanlama.Add(aossZorlukPuanlama); await _context.SaveChangesAsync(); return(CreatedAtAction("GetAossZorlukPuanlama", new { id = aossZorlukPuanlama.Id }, aossZorlukPuanlama)); }
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."); } }