Ejemplo n.º 1
0
        public QuestionsPageViewModel(ITriviaService triviaService)
        {
            _triviaService = triviaService;

            TriviaList   = new TriviaModel();
            QuestionList = new List <Trivia>();
        }
Ejemplo n.º 2
0
        public IActionResult Incorrect()
        {
            var model = new TriviaModel
            {
                Name = (string)TempData["Name"]
            };

            return(View("Incorrect", model));
        }
Ejemplo n.º 3
0
 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());
 }
Ejemplo n.º 4
0
 public IActionResult Index(TriviaModel model)
 {
     TempData.Add("Name", model.Name);
     if (model.SubmittedAnswer == "Neil Armstrong")
     {
         return(RedirectToAction("Correct"));
     }
     else
     {
         return(RedirectToAction("Incorrect"));
     }
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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 }));
            }
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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"]);
        }
Ejemplo n.º 12
0
        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));
        }