コード例 #1
0
        public DiscussionDTO SelectAnswer([FromBody] SelectedAnswerDTO model)
        {
            var option = _context.Options.Include(x => x.Discussion).FirstOrDefault(x => x.ID == model.Id);

            option.Counter++;

            _context.SaveChanges();

            var d = option.Discussion;

            var disc = _context.Discussions.Include(x => x.Options).FirstOrDefault(x => x.ID.Equals(d.ID));

            var options = disc.Options.Select(x => new OptionsDTO
            {
                ID      = x.ID,
                Value   = x.Value,
                Counter = x.Counter
            }).ToList();

            var data = new DiscussionDTO {
                Options = options, QuestionText = d.QuestionText, ID = d.ID, Counter = disc.Options.Sum(x => x.Counter)
            };

            return(data);
        }
コード例 #2
0
        public DiscussionDTO ShowDiscussion(int id)
        {
            var discussion = _context.Discussions.Include(x => x.Options).FirstOrDefault(x => x.ID.Equals(id));
            var options    = discussion.Options.Select(x => new OptionsDTO
            {
                ID      = x.ID,
                Value   = x.Value,
                Counter = x.Counter
            }).ToList();

            DiscussionDTO d = new DiscussionDTO {
                ID = discussion.ID, Options = options, QuestionText = discussion.QuestionText
            };

            d.Counter = d.Options.Sum(x => x.Counter);

            return(d);
        }
コード例 #3
0
        public ResultDTO AddDiscussion([FromBody] DiscussionDTO model)
        {
            var question = new Discussion
            {
                QuestionText = model.QuestionText
            };

            question.Options = model.Options.Select(x => new Options
            {
                Discussion = question,
                Counter    = x.Counter,
                Value      = x.Value
            }).ToList();

            _context.Discussions.Add(question);
            _context.SaveChanges();

            return(new ResultDTO
            {
                Message = "OK",
                Status = 200
            });
        }