public async Task <IActionResult> Add(QuizForAddDto quizForAddDto) { try { var user = await _userManager.GetUserAsync(User); var quiz = _mapper.Map <Quiz>(quizForAddDto); quiz.UserId = user.Id; // quiz.QAndAs.Add(quizForAddDto.QuesAndAns); _quizRepo.Add(quiz); if (await _quizRepo.SaveAll()) { foreach (var qa in quizForAddDto.QuesAndAns) { qa.QuizId = quiz.Id; _quizRepo.Add(qa); } await _quizRepo.SaveAll(); return(Ok("Successfully created the quiz")); } return(BadRequest("Creating the quiz failed on save")); } catch (Exception e) { return(BadRequest("Creating the quiz failed")); } }
public int Create(Quiz quiz) { if (this.GetQuizByName(quiz.Name) == null) { quizRepository.Add(quiz); return(1); } return(0); }
public QuizQuery Add(AddQuizCommand command) { if (string.IsNullOrEmpty(command.Titulo)) { throw new Exception("Titulo do quiz é obrigatório"); } if (string.IsNullOrEmpty(command.Nivel.ToString())) { throw new Exception("Nível do quiz é obrigatório"); } if ((command.Perguntas == null) || (command.Perguntas.Count == 0)) { throw new Exception("O quiz deve conter pelo menos uma pergunta"); } if (command.Perguntas.Where(p => p.Alternativas?.Count != 4).Any()) { throw new Exception("As perguntas do quiz devem conter 4 alternativas"); } var quiz = _quizRepository.Add(new EnqQuiz { Titulo = command.Titulo, CodigoNivel = (int)command.Nivel, ImagemUrl = command.ImagemUrl }); var query = QuizToQuery(quiz); query.Perguntas = AddPerguntas(quiz.Codigo, command.Perguntas); return(query); }
public async Task <ObjectResult <QuizResponse> > Create(QuizCreateRequest request) { var quiz = _mapper.Map <Quiz>(request); if (quiz != null) { quiz.DateAdded = DateTime.Now; _quizRepository.Add(quiz); } quiz.Image = await _imageRepository.GetImageByUrl(request.ImageUrl); if (await _quizRepository.SaveChangesAsync()) { _cache.Set($"Quiz {quiz.Id}", quiz); _cache.Remove($"Quizzes"); return(new ObjectResult <QuizResponse> { Object = _mapper.Map <QuizResponse>(quiz), Found = true, Success = true }); } return(new ObjectResult <QuizResponse> { Found = true, Errors = new[] { "Action didn't affect any rows" } }); }
public Quiz CreateNewQuiz(Song song, string answer1, string answer2, string rightAnswer) { var quiz = Quiz.Create(song, answer1, answer2, rightAnswer); quiz = quizRepository.Add(quiz); persistanceContext.SaveChanges(); return(quiz); }
public async Task <IActionResult> Create([FromBody] QuizDef Quiz) { if (Quiz == null) { return(BadRequest()); } await _quizRepo.Add(Quiz); return(CreatedAtRoute("GetQuiz", new { Controller = "Quizes", id = Quiz.QuizId }, Quiz)); }
public CreatedQuizDto AddQuiz(CreateQuizDto createQuizDto) { var quiz = _repository.Add(new Quiz { Date = createQuizDto.Date, QuizName = createQuizDto.Name, QuizOwnerId = createQuizDto.QuizOwnerId }).First(); _repository.Save(); return(new CreatedQuizDto { Id = quiz.Id, Name = quiz.QuizName, Date = quiz.Date }); }
public void AddNewQuiz(QuizDTO quizDTO) { var quiz = CreateQuiz(quizDTO); //var kolekcja pytan json lub xml = json save = / quiz.jsonFile pewnie bd trzeba cos dodac do tego jsona. quizRepository.Add(quiz); quizDTO.Id = quiz.Id; quizDTO.FilePath = this.jsonRepository.BuildAbsolutePath(quizDTO.Id); this.jsonRepository.SaveWithAbsolutePath(quizDTO.FilePath, quizDTO.JSON); this.Update(quizDTO); }
public async Task <IActionResult> Create([Bind("QuizId,Title")] Quiz quiz) { if (ModelState.IsValid) { _quizRepository.Add(quiz); await _quizRepository.Save(); TempData["info"] = "The quiz title has been saved"; return(RedirectToAction(nameof(Create), "Questions", new { id = quiz.QuizId })); } return(View(quiz)); }
public async Task <Result <QuizResultResponse> > FinishQuiz(FinishQuizCommand command) { var validationResult = Validate(_finishQuizCommandValidator.Validate(command)); if (!validationResult.Success) { return(validationResult); } var quizResult = await CalculateResult(command); var quiz = new Quiz(command.UserName, quizResult); await _quizRepository.Add(quiz); return(new Result <QuizResultResponse>(QuizResultResponse.ToResponse(quiz))); }
public Quiz Create(Guid creatorId, string creatorRole, List <QuizQuestion> questions) { string link = generateLink(); foreach (var question in questions) { question.Id = Guid.NewGuid(); } Quiz newQuiz = new Quiz { Id = Guid.NewGuid(), UserId = creatorId, CreatorRole = creatorRole, status = "unplayed", Questions = questions, Link = link }; return(_quizRepository.Add(newQuiz)); }
public IActionResult Add() { int id = int.Parse(Request.Form["id"]); string title = Request.Form["Title"]; string number = Request.Form["Questions"]; string[] sep = number.Split(";"); int[] nums = new int[sep.Length]; for (int i = 0; i < sep.Length; i++) { nums[i] = int.Parse(sep[i]); } Quiz quiz = new Quiz() { number = sep.Length, QuizId = id, Title = title }; List <QuestionQuiz> questQuiz = new List <QuestionQuiz>(); foreach (QuestionQuiz q in context.Journalists) { foreach (int idd in nums) { if (q.QuestionsId == idd && q.QuizId == id) { context.Journalists.Remove(q); } } } foreach (int n in nums) { questQuiz.Add(new QuestionQuiz { QuestionsId = n, QuizId = id, QuestionQuizId = n + 100 }); } context.Journalists.AddRange(questQuiz); r.Add(quiz); r.Save(); return(View()); }
public Quize CreateQuiz(Quest quest, IEnumerable <QuizNewQuestion> questions) { quest.Points = questions.Count(); var quiz = new Quize() { Quest = quest, QuizQuestions = questions.Select(q => new QuizQuestion() { CorrectAnswer = q.Answer, AnswerB = q.OptionB, AnswerC = q.OptionC, AnswerD = q.OptionD, Question = q.Question }).ToList() }; quizRepository.Add(quiz); quizRepository.SaveChanges(); return(quiz); }
public void Add(Quiz quiz) { QuizRepository.Add(quiz); }
public ActionResult <EnqQuiz> Adicionar([FromBody] EnqQuiz command) { return(Created("quizzes", _quizRepository.Add(command))); }
public async Task <ActionResult> AddQuestionToQuiz(Quiz quiz, ICollection <Question> questions, IFormCollection collection, List <IFormFile> questionImage, List <string> imageav) { try { int imageCounter = 0; int i = 0; var uploadPath = Path.Combine(he.WebRootPath, "images"); await quizRepository.Add(quiz); foreach (var question in questions) { await questionRepository.Add(question); Guid QuestionGuid = Guid.NewGuid(); if (Int16.Parse(imageav[i]) == 1) { if (questionImage[imageCounter].Length > 0) { var filePath = Path.Combine(uploadPath, question.QuestionID + ".jpg"); using (var fileStream = new FileStream(filePath, FileMode.Create)) { await questionImage[imageCounter].CopyToAsync(fileStream); } } imageCounter++; } i++; } ICollection <Quiz> quizzes = await quizRepository.GetQuizzesAsync(); var Quizzes = await quizRepository.GetQuizzesAsync(); var user = await userManager.FindByNameAsync(User.Identity.Name); var participated = await userScoreRepo.GetUserQuizzesAsync(user.Id); List <Guid> pp = new List <Guid>(); foreach (var quizTaken in participated) { pp.Add(quizTaken.QuizId); } List <QuizOverview_VM> quizOverview = new List <QuizOverview_VM>(); foreach (var quizs in Quizzes) { QuizOverview_VM quizOverview_VM = new QuizOverview_VM() { QuizId = quizs.Id, Description = quizs.Description, Name = quizs.Name, QuizzedTaken = pp.Contains(quizs.Id), Difficulty = quiz.Difficulty.ToString() }; quizOverview.Add(quizOverview_VM); } return(View("MyQuiz", quizOverview)); } catch (Exception exc) { var Quizzes = await quizRepository.GetQuizzesAsync(); var user = await userManager.FindByNameAsync(User.Identity.Name); var participated = await userScoreRepo.GetUserQuizzesAsync(user.Id); List <Guid> pp = new List <Guid>(); foreach (var quizTaken in participated) { pp.Add(quizTaken.QuizId); } List <QuizOverview_VM> quizOverview = new List <QuizOverview_VM>(); foreach (var quizs in Quizzes) { QuizOverview_VM quizOverview_VM = new QuizOverview_VM() { QuizId = quizs.Id, Description = quizs.Description, Name = quizs.Name, QuizzedTaken = pp.Contains(quizs.Id) }; quizOverview.Add(quizOverview_VM); } return(View("MyQuiz", quizOverview)); } }