public async Task <JsonResult> KlasikSinavSinavKayit(KlasikSinavSinavKayitViewModel klasikSinavSinavKayit)
        {
            klasikSinavSinavKayit.OgrenciId = Guid.Parse(User.Identity.GetUserId());
            var result = await
                         Task.FromResult(_sinavKayit.KlasikSinavOgrenciSinaviKayit(klasikSinavSinavKayit));

            return(new JsonResult(new Result {
                Message = result.Message, isSuccess = result.isSuccess
            }));
        }
        public Result KlasikSinavOgrenciSinaviKayit(KlasikSinavSinavKayitViewModel klasikSinavOgrenciCevaplari)
        {
            try
            {
                // süresi başlamış sınavlardan ulaşacağız.Süresi başlamamış sınav kayıt edilemez
                var suresiBaslamisSinav =
                    _unitOfWork.SuresiBaslamisSinavlarRepository.SingleOrDefault(x =>
                                                                                 x.OgrenciId == klasikSinavOgrenciCevaplari.OgrenciId && x.SinavId == klasikSinavOgrenciCevaplari.SinavId);
                if (suresiBaslamisSinav == null)
                {
                    throw new NullReferenceException("Sınav soruları kayıt edilmek istenen sonav bulunamadı!");
                }

                // Soru cevaplarını tabloya ekliyoruz
                List <KlasikSinavSinavSoruCevap> klasikSinavSinavSoruCevapList = new List <KlasikSinavSinavSoruCevap>();
                foreach (var item in klasikSinavOgrenciCevaplari.SinavSoruCevaplari)
                {
                    klasikSinavSinavSoruCevapList.Add(new KlasikSinavSinavSoruCevap {
                        SoruText = item.SoruText, SoruCevapText = item.SoruCevapText, KlasikSinavSinavSoruCevapId = Guid.NewGuid()
                    });
                }

                suresiBaslamisSinav.GirilenKlasikSinavKayits = new List <GirilenKlasikSinavKayit>
                {
                    new GirilenKlasikSinavKayit
                    {
                        GirilenKlasikSinavKayitId  = Guid.NewGuid(),
                        OgrenciSinavPuani          = 0,
                        KlasikSinavSinavSoruCevaps = klasikSinavSinavSoruCevapList
                    }
                };

                suresiBaslamisSinav.OgrenciSinaviBitirmeZamani = DateTime.Now;

                _unitOfWork.SaveChanges();

                return(new Result {
                    isSuccess = true, Message = "Sınav başarılı bir şekilde kayıt edildi."
                });
            }
            catch (Exception e)
            {
                _logger.LogError("Klasik sinav kaydı başarısız. İstek sahibi -> " + klasikSinavOgrenciCevaplari.OgrenciId + " | Sinav -> " + klasikSinavOgrenciCevaplari.SinavId + " | Detay -> " + e);
                return(new Result {
                    isSuccess = false, Message = "Sınav kaydı başarısız!"
                });
            }
        }