public async Task <IActionResult> Add(QuizDTO quiz) { var entity = Mapper.Map(quiz); await _quizRepository.AddQuizAsync(quiz.ParentId, entity); await _unitOfWork.CompleteAsync(); return(Accepted()); }
public async Task <ActionResult> AddQuestionToQuiz(IList <Question> questions, List <IFormFile> questionimg, List <string> listimgindex, string quizname, string quizdiff, string quizdescript) { try { var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; var uploadPath = Path.Combine(_he.WebRootPath, "images"); int imgCounter = 0; int isaindex = 0; Quiz quiz = new Quiz() { Name = quizname, Description = quizdescript, Difficulty = (Quiz.Difficulties)Enum.Parse(typeof(Quiz.Difficulties), quizdiff), QuestionCount = questions.Count(), ApplicationUserId = userId }; await _quizRepository.AddQuizAsync(quiz); foreach (var question in questions) { question.Quiz = quiz; await _questionRepository.AddQuestionAsync(question); if (Int16.Parse(listimgindex[isaindex]) == 1) { if (questionimg[imgCounter].Length > 0) { var filePath = Path.Combine(uploadPath, question.Id + ".jpg"); using (var fileStream = new FileStream(filePath, FileMode.Create)) { await questionimg[imgCounter].CopyToAsync(fileStream); } } imgCounter++; } isaindex++; } var result = await _quizRepository.GetAllQuizzesAsync(); return(View("Quizzes", result)); } catch (Exception ex) { Debug.WriteLine(ex.InnerException.Message); return(View("MyQuizzes")); } }