示例#1
0
        /// <summary>
        /// 个人提问
        /// </summary>
        public async Task <IActionResult> Question(Guid id, int page = 1)
        {
            if (page < 1)
            {
                return(NotFound());
            }
            PersonView person = await this.personService.GetPersonViewAsync(id);

            if (person == null || person.IsDelete)
            {
                return(NotFound());
            }
            else
            {
                Person p = ObjectMapper.Map <PersonView, Person>(person);
                PagingResult <PostView> pagingResult = await this.postService.GetPagingResultAsync(person, Library.Enums.PostResultType.Question, page);

                if (pagingResult.PageCount > 1 && page > pagingResult.PageCount)
                {
                    return(NotFound());
                }
                UserQuestionViewModel model = new UserQuestionViewModel(pagingResult, person);
                return(View(model));
            }
        }
示例#2
0
        public IActionResult UserQuestion()
        {
            var viewModel = new UserQuestionViewModel();

            viewModel.Users       = _userService.GetUsersSummary();
            viewModel.QuestionDto = _questionService.GetRandomQuestion();

            return(View(viewModel));
        }
示例#3
0
        public IActionResult UserQuestion(UserQuestionViewModel viewModel)
        {
            var saveAnswer = _usersAnswerService.AddUserAnswer(viewModel);

            if (saveAnswer)
            {
                return(RedirectToAction("UserQuestion"));
            }
            else
            {
                return(Content("Hata oluştu daha sonra tekrar deneyiniz."));
            }
        }
示例#4
0
        public bool AddUserAnswer(UserQuestionViewModel model)
        {
            var usersAnswer = new UsersAnswer()
            {
                AnswerDate = DateTime.UtcNow,
                QuestionId = model.QuestionDto.Id,
                UserId     = model.User.Id,
                Answer     = model.QuestionDto.Answer
            };

            _usersAnswerDal.Add(usersAnswer);
            return(_usersAnswerDal.SaveChanges());
        }
示例#5
0
        public async Task <IHttpActionResult> UpdateUserQuestion(UserQuestionViewModel model)
        {
            Country country = null;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userId = User.Identity.GetUserId <int>();
            var user   = DbContext.Users.Find(userId);

            if (model.CountryId != null)
            {
                country = DbContext.Countries.Find(model.CountryId);
            }


            if (user != null && country != null)
            {
                // updating profile
                user.CountryId  = country.Id;
                user.Children13 = model.Children13;
                user.Teens      = model.Teens;
                user.Adults     = model.Adults;
                user.Seniors    = model.Seniors;
                user.PostCode   = model.PostCode;

                await DbContext.SaveChangesAsync();

                return(Ok(Mapper.Map <UserQuestionViewModel>(user)));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
示例#6
0
        public IActionResult GetQuestion()
        {
            if (Request.Headers.ContainsKey("Username"))
            {
                var username   = Request.Headers["Username"].FirstOrDefault();
                var userExists = _userRepository.UsernameExists(username);
                if (!userExists)
                {
                    ModelState.AddModelError("doesntExist", "Username doesnt exist");
                    return(BadRequest(ModelState));
                }
                var user = _userRepository.GetUserByUsername(username);

                Random random    = new Random();
                var    questions = _questionRepository.GetUnansweredQuestion(user.Id);

                if (questions.Count() > 0)
                {
                    var index    = random.Next(0, questions.Count());
                    var question = questions.ElementAt(index);
                    _answeredQuestionsRepository.Add(new AnsweredQuestions {
                        Question = question, User = user
                    });
                    return(Ok(UserQuestionViewModel.ToUserQuestionViewModel(question)));
                }
                else
                {
                    ModelState.AddModelError("noQuestions", "No Questions found");
                    return(BadRequest(ModelState));
                }
            }
            else
            {
                return(NotFound());
            }
        }