Ejemplo n.º 1
0
        public Result KlasikSinavOlustur(KlasikSinavSorulari klasikSinavSorulari, Guid sinavSahibiIdBilgisi)
        {
            try
            {
                if (klasikSinavSorulari == null || sinavSahibiIdBilgisi.ToString() == null)
                {
                    throw new ArgumentNullException("Gelen değerlerden bir tanesi null");
                }

                // klasik soruların yer aldığı soru metinleri tablosu soruların eklenmesi
                var klasikSinavSorularList = new List <KlasikSinavSorular>();
                foreach (var item in klasikSinavSorulari.Sorular)
                {
                    klasikSinavSorularList.Add(new KlasikSinavSorular {
                        KlasikSinavSorularId = Guid.NewGuid(), SoruMetni = item
                    });
                }

                // klasik sinav tablosu verilerin eklenmesi
                var klasikSinavSorulariTablosu = new KlasikSinav {
                    KlasikSinavId = Guid.NewGuid(), KlasikSinavSorulars = klasikSinavSorularList
                };

                // sinav tablosu
                var sinavBilgileri = new EntityLayer.Sinav.Sinav {
                    SinavTuru = SinavTuru.Klasik, DerslerId = Guid.Parse(klasikSinavSorulari.DersGuidId), SinavId = Guid.NewGuid(), SinavSahibi = sinavSahibiIdBilgisi, KlasikSinav = klasikSinavSorulariTablosu, SinavEklenmeTarihi = DateTime.Now, SinavAktiflikDurumu = false, SinavSuresiDakika = 0
                };

                // Sinav Bilgileri kayıt edildi
                _unitOfWork.SinavRepository.Add(sinavBilgileri);

                _unitOfWork.SaveChanges();

                return(new Result {
                    isSuccess = true, Message = "Sınav başarılı bir şekilde kayıt edildi."
                });
            }
            catch (Exception e)
            {
                _logger.LogError("Sinav kayıt başarısız -> " + e.ToString() + " | İşlem sahibi -> " + sinavSahibiIdBilgisi);
                return(new Result {
                    isSuccess = false, Message = "Sınav kayıt işlemi başarısız."
                });
            }
        }
Ejemplo n.º 2
0
        public Result TestSinavOlustur(TestSinavSorulari testSinavSorulari, Guid sinavSahibiIdBilgisi)
        {
            try
            {
                if (testSinavSorulari == null || sinavSahibiIdBilgisi.ToString() == null)
                {
                    throw new ArgumentNullException("Gelen değerlerden bir tanesi null");
                }

                var sinavSorularTablosuTumSorularList = new List <TestSinavSorular>();


                // Kaç soru olduğu testSinavSorulari.SoruTemplate içerisinde.
                // Buradaki sorular kadar dönüp db kayıt edeceğiz.
                for (int m = 0; m < testSinavSorulari.SoruTemplate.Count; m++)
                {
                    // . soru için şıklar
                    // Tüm soru şıklarını soruşıkları tablosuna eklemek için list haline getiriyoruz
                    var testSinavSorulariSiklariList = new List <TestSinavSoruSiklari>();
                    for (int i = 0; i < testSinavSorulari.SoruTemplate[m].SoruSiklari.Count; i++)
                    {
                        testSinavSorulariSiklariList.Add(new TestSinavSoruSiklari {
                            SoruSikki = (i + 1), SoruSikMetni = testSinavSorulari.SoruTemplate[m].SoruSiklari[i], TestSinavSoruSiklariId = Guid.NewGuid()
                        });
                    }

                    var testSinavSorularTablosu = new TestSinavSorular {
                        TestSinavSoruSiklari = testSinavSorulariSiklariList, SoruCevabi = Convert.ToInt32(testSinavSorulari.SoruTemplate[m].SoruDogruSik), TestSinavSorusuMetni = testSinavSorulari.SoruTemplate[m].SoruText, TestSinavSorularId = Guid.NewGuid()
                    };


                    sinavSorularTablosuTumSorularList.Add(testSinavSorularTablosu);
                }

                // Test sınav tablosu verileri
                var testSinavTestSinavTablosu = new TestSinav {
                    TestSinavId = Guid.NewGuid(), TestSinavSorulars = sinavSorularTablosuTumSorularList
                };

                // Sinav tablosu verileri
                var sinavTablosu = new EntityLayer.Sinav.Sinav
                {
                    DerslerId           = Guid.Parse(testSinavSorulari.DersGuidId),
                    SinavId             = Guid.NewGuid(),
                    SinavSahibi         = sinavSahibiIdBilgisi,
                    SinavTuru           = SinavTuru.Test,
                    SinavEklenmeTarihi  = DateTime.Now,
                    TestSinav           = testSinavTestSinavTablosu,
                    SinavAktiflikDurumu = false,
                    SinavSuresiDakika   = 0
                };

                _unitOfWork.SinavRepository.Add(sinavTablosu);
                _unitOfWork.SaveChanges();

                return(new Result {
                    isSuccess = true, Message = "Test sınavı başarılı bir şekilde kayıt edildi."
                });
            }
            catch (Exception e)
            {
                _logger.LogError("Test sınavı kayıt işlemi başarısız. Detaylar -> " + e + " | İşlem sahibi -> " + sinavSahibiIdBilgisi);
                return(new Result {
                    isSuccess = false, Message = "Sınav kayıt işlemi başarısız."
                });
            }
        }