private static UpdateQuestionViewModel UpdatableQuestion()
        {
            var question = new UpdateQuestionViewModel
            {
                Id          = 1,
                Description = "Favourite programming language?",
                ImageUrl    = "https://dummyimage.com/600x400/000/fff.png&text=question+1+image+(600x400)",
                ThumbUrl    = "https://dummyimage.com/120x120/000/fff.png&text=question+1+image+(120x120)",
                Choices     = new List <ChoiceViewModel>
                {
                    new ChoiceViewModel
                    {
                        Description = "Golang",
                        Votes       = 100
                    },
                    new ChoiceViewModel
                    {
                        Description = "R",
                        Votes       = 50
                    },
                    new ChoiceViewModel
                    {
                        Description = "C#",
                        Votes       = 80
                    }
                }
            };

            return(question);
        }
        public async Task <QuestionViewModel> Update(UpdateQuestionViewModel questionViewModel)
        {
            var updateCommand = _mapper.Map <UpdateQuestionCommand>(questionViewModel);
            var result        = await _mediator.SendCommand(updateCommand);

            if (result.IsValid)
            {
                return(_mapper.Map <QuestionViewModel>(await _questionRepository.GetById(questionViewModel.id)));
            }

            return(null);
        }
Exemple #3
0
        public async Task <UpdateQuestionViewModel> UpdateAsync(UpdateQuestionViewModel questionViewModel)
        {
            var updatedQuestion = _mapper.Map <Question>(questionViewModel);

            var question = await FetchQuestionAsync(updatedQuestion.Id);

            _context.Choice.RemoveRange(question.Choices);

            _context.Questions.Update(updatedQuestion);
            _context.SaveChanges();

            return(_mapper.Map <UpdateQuestionViewModel>(updatedQuestion));
        }
        public IActionResult UpdateQuestion(UpdateQuestionViewModel model)
        {
            var faq = this._context.Faqs.FirstOrDefault(f => f.Id == model.Id);

            if (faq != null)
            {
                faq.Question   = model.Question;
                faq.PostExpiry = model.PostExpiry;
                faq.Timestamp  = DateTime.UtcNow;
                this._context.Faqs.Update(faq);
                this._context.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Exemple #5
0
        public async Task <IActionResult> Put(UpdateQuestionViewModel questionViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new
                {
                    success = false
                }));
            }

            var updatedQuestion = await _questionService.UpdateAsync(questionViewModel);

            return(Ok(new
            {
                success = true,
                data = updatedQuestion
            }));
        }
Exemple #6
0
 public async Task <IActionResult> Put(long id, [FromBody] UpdateQuestionViewModel questionViewModel)
 {
     return(!ModelState.IsValid ? CustomResponse(ModelState) :
            CustomResponse(await _questionAppService.Update(questionViewModel)));
 }