public async Task <IActionResult> JoinPrivateChallenge(JoinPrivateChallengeViewModel inputModel)
        {
            if (ModelState.IsValid)
            {
                var challengeResponse = await challengesProvider.GetItemAsync(inputModel.ChallengeId);

                var aggregateReponse = await aggregateProvider.GetItemAsync(inputModel.ChallengeId);

                // Check if the challenge has questions
                if (challengeResponse.Item2.Questions.Count > 0)
                {
                    // Get the id of the first
                    var firstQuestion = challengeResponse.Item2.Questions.Where(q => q.Index == 0).FirstOrDefault();

                    return(RedirectToAction("StartChallenge", new { challengeId = challengeResponse.Item2.Id, questionId = firstQuestion.Id }));
                }
                else
                {
                    return(StatusCode(404));
                }
            }

            return(View(inputModel));
        }
        public IActionResult JoinPrivateChallenge()
        {
            var model = new JoinPrivateChallengeViewModel();

            return(View(model));
        }