public async Task <IActionResult> ManageTriviaQuestion(string id)
        {
            var resp = await _mediator.Send(new GetTriviaQuestion(id));

            var viewModel = new TriviaQuestionEditModel(resp);

            return(View(viewModel));
        }
 public void Setup()
 {
     _model = new TriviaQuestionEditModel
     {
         Question = "This is a question " + Guid.NewGuid(),
         Option0  = "option 1 " + Guid.NewGuid(),
         Option1  = "option 2 " + Guid.NewGuid(),
         Option2  = "option 3 " + Guid.NewGuid(),
         Option3  = "option 4 " + Guid.NewGuid(),
         Answer   = new Random().Next(0, 4)
     };
     _modelState = new ModelStateDictionary();
 }
        public async Task <IActionResult> ManageTriviaQuestion(TriviaQuestionEditModel model)
        {
            model.Validate(ModelState);

            if (ModelState.IsValid)
            {
                var req = model.MapToRequest();
                await _mediator.Send(req);

                TempData["Flash"] = "Trivia question updated";
                return(RedirectToAction("ManageTriviaQuestions"));
            }

            return(View(model));
        }
        public async Task <IActionResult> SubmitTriviaQuestion(TriviaQuestionEditModel model)
        {
            model.Validate(ModelState);

            if (ModelState.IsValid)
            {
                var req = model.MapToRequest();
                req.Approved    = false; // always false when first being submitted
                req.SubmittedBy = User.Identity.Name;
                await _mediator.Send(req);

                TempData["Flash"] = "Thank you for submitting a trivia question! Submit another one!";
                return(RedirectToAction("SubmitTriviaQuestion"));
            }

            return(View(model));
        }