Exemple #1
0
        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ı"));
        }
Exemple #2
0
        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)));
        }