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());
        }
Ejemplo n.º 2
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());
        }
        public async Task <ActionResult <AossZorlukPuanlama> > PostAossZorlukPuanlama(AossZorlukPuanlama aossZorlukPuanlama)
        {
            _context.AossZorlukPuanlama.Add(aossZorlukPuanlama);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetAossZorlukPuanlama", new { id = aossZorlukPuanlama.Id }, aossZorlukPuanlama));
        }
Ejemplo n.º 4
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.");
            }
        }