public async Task <IActionResult> sinavOlustur([FromBody] ReqOlustur reqOlustur) { var users = _context.Users.FirstOrDefault(x => x.UserName == User.Identity.Name); var Exam = new Exam(); Exam.Title = reqOlustur.title; Exam.QuestionMain = reqOlustur.QuestionMain; Exam.User = users; Exam.createDate = DateTime.Now; var questionList = new List <Question>(); foreach (var item in reqOlustur.Soru) { var question = new Question { Body = item.soruBody, MarkA = item.secenekA, MarkB = item.secenekB, MarkC = item.secenekC, MarkD = item.secenekD, Answer = item.cevap }; questionList.Add(question); } Exam.Questions = questionList; _context.Add(Exam); await _context.SaveChangesAsync(); return(Ok("Başarılı")); }
public async Task <IActionResult> sinavaGir([FromBody] ReqOlustur reqOlustur) { var questions = _context.Question.Where(x => x.Exam.ExamId == reqOlustur.examId).ToList(); List <bool> test = new List <bool>(); int puan = 0; foreach (var(value, index) in reqOlustur.Soru.AsEnumerable().Select((v, i) => (v, i))) { switch (questions[index].Answer) { case "A": puan += (value.cevap.Contains(questions[index].MarkA)) ? 25 : 0; break; case "B": puan += (value.cevap.Contains(questions[index].MarkB)) ? 25 : 0; break; case "C": puan += (value.cevap.Contains(questions[index].MarkC)) ? 25 : 0; break; case "D": puan += (value.cevap.Contains(questions[index].MarkD)) ? 25 : 0; break; } } var users = _context.Users.FirstOrDefault(x => x.UserName == User.Identity.Name); ExamResult examResult = new ExamResult(); examResult.Exam = _context.Exam.FirstOrDefault(x => x.ExamId == reqOlustur.examId); examResult.Puan = puan; _context.Add(examResult); await _context.SaveChangesAsync(); return(Ok(questions.Select(x => x.Answer))); }