public async Task <JsonResult> KlasikSinavOlustur(KlasikSinavSorulari klasikSinavSorulari)
        {
            var result = await Task.FromResult(_sinavOlustur.KlasikSinavOlustur(klasikSinavSorulari, Guid.Parse(User.Identity.GetUserId())));

            return(new JsonResult(new Result {
                isSuccess = result.isSuccess, Message = result.Message
            }));
        }
示例#2
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."
                });
            }
        }