コード例 #1
0
        public static GetQuestionViewModel ToViewModelExtensionMethod(this Question question)
        {
            var result = new GetQuestionViewModel();

            result.field1 = question.field1;
            // ... etc
            return(result);
        }
コード例 #2
0
        public GetQuestionViewModel MapperToGetViewModel(Question question)
        {
            var getQuestionViewModel = new GetQuestionViewModel
            {
                poll_id = question.Id.GetValueOrDefault()
                ,
                poll_description = question.Description
            };

            return(getQuestionViewModel);
        }
コード例 #3
0
        public async Task <IActionResult> Get([FromBody] GetQuestionViewModel model)
        {
            try
            {
                var response = await _service.GetQuestion(User, model, ModelState);

                return(response.JsonResult());
            }
            catch (Exception error)
            {
                _logger.Error(error);
                return(StandardResponse.ForError().JsonResult());
            }
        }
コード例 #4
0
        public async Task <StandardResponse> GetQuestion(ClaimsPrincipal identity, GetQuestionViewModel model, ModelStateDictionary modelState)
        {
            if (!modelState.IsValid)
            {
                return(modelState.StandardError());
            }

            using (var db = new ServiceDb())
            {
                using (var user = await _userService.Become(db, identity, null))
                {
                    var question = await _questionService.GetQuestion(db, user, model.Id);

                    return(StandardResponse.For(QuestionViewModel.From(question)));
                }
            }
        }
コード例 #5
0
        public async Task <StandardResponse> GetQuestionSummary(ClaimsPrincipal identity, GetQuestionViewModel model, ModelStateDictionary modelState)
        {
            if (!modelState.IsValid)
            {
                return(modelState.StandardError());
            }

            using (var db = new ServiceDb())
            {
                using (var user = await _userService.Become(db, identity, null))
                {
                    var question = await _questionService.GetQuestion(db, user, model.Id);

                    var results = await _searchService.FindAnswersForQuestion(db, user, model.Id, 0, 1);

                    var bestAnswer = results.HasResults
            ? Option.Some(await _answerService.GetAnswer(db, user, results.IdentityList[0].ToString()))
            : Option.None <Answer>();

                    return(StandardResponse.For(QuestionSummaryViewModel.From(question, bestAnswer)));
                }
            }
        }