コード例 #1
0
        public IActionResult QuestionDetail()
        {
            var viewModel = new EditQuestionAndAnswerViewModel
            {
                Answers = new List <AnswerModel>
                {
                    new AnswerModel(),
                    new AnswerModel(),
                    new AnswerModel(),
                    new AnswerModel()
                },
                Categories = _webserviceProvider.GetDataFromWebService <IEnumerable <CategoryModel> >(Controllers.Edit.ToString(), "AllCategories").ToList()
            };

            return(View(viewModel));
        }
コード例 #2
0
        public IActionResult QuestionDetail(int questionId)
        {
            var categories = _webserviceProvider.GetDataFromWebService <IEnumerable <CategoryModel> >(Controllers.Edit.ToString(), "AllCategories");
            var content    = JsonConvert.SerializeObject(questionId);
            var question   = _webserviceProvider.PostDataFromWebService <QuestionModel>(Controllers.Edit.ToString(), "QuestionById", content);
            var answers    = _webserviceProvider.PostDataFromWebService <IEnumerable <AnswerModel> >(Controllers.Edit.ToString(), "AnswersOfQuestion", content);
            var viewModel  = new EditQuestionAndAnswerViewModel
            {
                Answers            = answers.ToList(),
                Categories         = categories.ToList(),
                Name               = question.Question,
                Id                 = questionId,
                SelectedCategoryId = question.CategoryId
            };

            return(View(viewModel));
        }
コード例 #3
0
        public IActionResult SaveQuestion(EditQuestionAndAnswerViewModel viewModel)
        {
            if (viewModel.Answers.Any(a => string.IsNullOrEmpty(a.Answer)) || string.IsNullOrEmpty(viewModel.Name))
            {
                viewModel.ErrorMessage = "Alle Textboxen müssen ausgefüllt werden.";
                return(View("QuestionDetail", viewModel));
            }
            viewModel.Answers[viewModel.CorrectAnswerIndex].Correct = true;
            var requestModel = new SaveQuestionAndAnswersRequestModel
            {
                Answers  = viewModel.Answers,
                Question = new QuestionModel
                {
                    Question   = viewModel.Name,
                    QuestionId = viewModel.Id,
                    CategoryId = viewModel.SelectedCategoryId
                }
            };
            var content = JsonConvert.SerializeObject(requestModel);
            var success = _webserviceProvider.PostDataFromWebService <bool>(Controllers.Edit.ToString(), "SaveQuestionWithAnswer", content);

            return(RedirectToAction("EditQuestions"));
        }