Пример #1
0
        public SubmitAnswerOutput SubmitAnswer(SubmitAnswerInput input)
        {
            Question question    = this.questionRepository.Get(input.QuestionId);
            User     currentUser = this.userRepository.Get(this.CurrentSession.GetUserId());

            question.AnswerCount++;

            Answer answer =
                this.answerRepository.Insert(new Answer(input.Text)
            {
                Question = question, CreatorUser = currentUser
            });

            this.unitOfWorkManager.Current.SaveChanges();

            return(new SubmitAnswerOutput {
                Answer = answer.MapTo <AnswerDto>()
            });
        }
        public SubmitAnswerOutput SubmitAnswer(SubmitAnswerInput input)
        {
            var question    = _questionRepository.Get(input.QuestionId);
            var currentUser = _userRepository.Get(AbpSession.UserId.Value);

            var answer = _answerRepository.Insert(
                new Answer(input.Info)
            {
                Question    = question,
                CreatorUser = currentUser
            });

            _unitOfWorkManager.Current.SaveChanges();

            return(new SubmitAnswerOutput
            {
                Answer = answer.MapTo <AnswerDto>()
            });
        }
Пример #3
0
        public SubmitAnswerOutput SubmitAnswer(SubmitAnswerInput input)
        {
            var question    = _questionRepository.Get(input.QuestionId);
            var currentUser = _userRepository.Get(CurrentSession.UserId.Value);

            question.AnswerCount++;

            var answer = _answerRepository.Insert(
                new Answer(input.Text)
            {
                Question    = question,
                CreatorUser = currentUser
            });

            UnitOfWorkScope.Current.SaveChanges();

            return(new SubmitAnswerOutput
            {
                Answer = answer.MapTo <AnswerDto>()
            });
        }
Пример #4
0
        public SubmitAnswerOutput SubmitAnswer(SubmitAnswerInput input)
        {
            var Role        = _RoleRepository.Get(input.RoleId);
            var currentUser = _userRepository.Get(CurrentSession.GetUserId());

            Role.AnswerCount++;

            var answer = _answerRepository.Insert(
                new Answer(input.Text)
            {
                Role        = Role,
                CreatorUser = currentUser
            });

            _unitOfWorkManager.Current.SaveChanges();

            return(new SubmitAnswerOutput
            {
                Answer = answer.MapTo <AnswerDto>()
            });
        }
Пример #5
0
        public async Task <PostWithVoteInfo> SubmitAnswer(SubmitAnswerInput input)
        {
            var answer = await _postRepository.InsertAsync(
                new Post()
            {
                Title         = input.Title,
                Body          = input.Body,
                ParentId      = input.QuestionId,
                CreatorUserId = AbpSession.UserId,
                PostTypeId    = (int)PostTypes.Answer
            });

            var question = await _postRepository.FirstOrDefaultAsync(x => x.Id == input.QuestionId);

            question.AnswerCount++;
            return(new PostWithVoteInfo
            {
                Post = answer.MapTo <PostDto>(),
                Upvote = false,
                Downvote = false
            });
        }