public QuestionsPageViewModel(ITriviaService triviaService) { _triviaService = triviaService; TriviaList = new TriviaModel(); QuestionList = new List <Trivia>(); }
public IActionResult Incorrect() { var model = new TriviaModel { Name = (string)TempData["Name"] }; return(View("Incorrect", model)); }
public ActionResult Index(TriviaModel model) { if (ModelState.IsValid) { var user = _db.Users.Find(User.GetUserId()); Pipe.SendMessage("{0}|TriviaGame|{1}", user.TwitchUsername, model.Name); } return(View()); }
public IActionResult Index(TriviaModel model) { TempData.Add("Name", model.Name); if (model.SubmittedAnswer == "Neil Armstrong") { return(RedirectToAction("Correct")); } else { return(RedirectToAction("Incorrect")); } }
public async Task <TriviaModel> GetTriviaByCategory(int category, string difficulty, int amount = 10) { var triviaList = new TriviaModel(); using (HttpClient client = new HttpClient()) { var response = await client.GetStringAsync(string.Format("{0}amount={1}&category={2}&difficulty={3}", AppConstants.TriviaEndpoint, amount, category, difficulty)); triviaList = JsonConvert.DeserializeObject <TriviaModel>(response); } return(triviaList); }
public async Task <ActionResult <TriviaDTO> > AddTrivia(int rentalId, TriviaModel trivia) { try { var result = await _reviewService.AddTriviaToRentalByIdAsync(rentalId, trivia); return(CreatedAtAction(nameof(GetTrivia), new { triviaId = result.Id }, result.ToDto())); } catch (Exception e) { return(BadRequest(new { Title = e.Message, BadRequest().StatusCode })); } }
public static TriviaDTO ToDto(this TriviaModel trivia) { if (trivia == null) { return(null); } return(new TriviaDTO { Id = trivia.Id, Trivia = trivia.Trivia, FilmClub = trivia.FilmClub.ToDto() }); }
public PartialViewResult Answer(IList <string> answers) { IList <QuestionResult> questionResults; bool wasLastTrySuccessful = triviaGame.TryAnswer(answers, out questionResults); var triviaModel = new TriviaModel(triviaGame.IsWon, triviaGame.GetFlag(), wasLastTrySuccessful); IList <QuestionAnswerResult> questionAnswerResults = questionResults.Select((t, i) => new QuestionAnswerResult { Answer = answers[i], Question = t.Question, Result = t.Result }).ToList(); triviaModel.QuestionAnswerResults = questionAnswerResults; return(PartialView("_TriviaGame", triviaModel)); }
public ActionResult Index() { triviaGame.StartGame(); var questionAnswerResults = triviaGame.Questions .Select(question => new QuestionAnswerResult { Question = question }) .ToList(); var triviaModel = new TriviaModel(triviaGame.IsWon, triviaGame.GetFlag(), false) { QuestionAnswerResults = questionAnswerResults }; return(View(triviaModel)); }
public async Task <TriviaModel> AddTriviaToRentalByIdAsync(int rentalId, TriviaModel trivia) { var rental = await GetRentalById(rentalId); // Check wheater the rental already has a trivia connected. Only one trivia is allowed per rental. if (rental.Trivia != null) { throw new Exception("A trivia already exists on this object."); } trivia.FilmClub = _context.FilmClubs.Find(rental.FilmClubModelId); rental.Trivia = trivia; rental.Movie.Trivias.Add(trivia); await _context.SaveChangesAsync(); return(trivia); }
public void Index_HttpPost_CorrectlyRedirectsToIncorrectView() { //Arrange var model = new TriviaModel { SubmittedAnswer = "Tom Hanks" }; var controller = new TriviaController(); //Act var result = controller.Index(model); //Assert Assert.IsNotNull(result); Assert.IsTrue(result is RedirectToRouteResult); var redirectResult = result as RedirectToRouteResult; //Assert the right action is redirected Assert.AreEqual("Incorrect", redirectResult.RouteValues["action"]); }
public async Task <ActionResult <TriviaModel> > PostMovieTrivia(int movieId, int studioId, TriviaModel trivia) { var movie = await _context.Movies.Where(m => m.Id == movieId).FirstOrDefaultAsync(); var movieStudio = await _context.MovieStudios.Where(m => m.Id == studioId).FirstOrDefaultAsync(); if (movie != null && movieStudio != null) { if (trivia.Grade > 5 || trivia.Grade < 0) { return(StatusCode(400)); } movie.AddTrivia(trivia, movieStudio); await _context.SaveChangesAsync(); return(StatusCode(201)); } return(StatusCode(400)); }