Beispiel #1
0
        public async Task <IActionResult> Put(int id, [FromBody] PollAnswerViewModel model)
        {
            if (ModelState.IsValid)
            {
                var pollAnswer = this.unitOfWork.PollAnswersRepository.GetById(id);
                if (pollAnswer == null)
                {
                    return(BadRequest());
                }
                else
                {
                    pollAnswer.Name = model.Name;
                    this.unitOfWork.PollAnswersRepository.Update(pollAnswer);
                    await this.unitOfWork.Save();

                    return(NoContent());
                }
            }
            else
            {
                return(Unauthorized());
            }
        }
Beispiel #2
0
        public int UpdatePoll(PollViewModel poll, HttpPostedFileBase poll_image = null)
        {
            Poll old_poll = DAManager.PollsRepository.Get(p => p.PollId == poll.PollId, null, "PollAnswers").FirstOrDefault();

            if (old_poll != null)
            {
                old_poll.CampaignId      = poll.CampaignId;
                old_poll.IsPublished     = poll.IsPublished;
                old_poll.OnlineStartDate = poll.OnlineStartDate;
                old_poll.OnlineEndDate   = poll.OnlineEndDate;
                old_poll.Question        = poll.Question;
                old_poll.Type            = poll.Type;
                old_poll.Description     = poll.Description;
            }
            else
            {
                return(-1);
            }

            //Delete unwanted unswers
            foreach (PollAnswer pa in old_poll.PollAnswers.ToList())
            {
                PollAnswerViewModel pavm = poll.Answers.Where(pp => pp.PollAnswerId == pa.AnswerId).FirstOrDefault();
                if (pavm == null || pavm.Answer == null || pavm.Answer.Trim() == "")
                {
                    DAManager.PollAnswersRepository.Delete(pa);
                }
            }

            foreach (PollAnswerViewModel pa in poll.Answers)
            {
                if (pa.Answer != null && pa.Answer.Trim() != "")
                {
                    //New Answer
                    if (pa.PollAnswerId <= 0)
                    {
                        old_poll.PollAnswers.Add(new PollAnswer()
                        {
                            Answer = pa.Answer, IsCorrect = pa.IsCorrect, PollId = poll.PollId
                        });
                    }
                    else//Old updated
                    {
                        PollAnswer t = old_poll.PollAnswers.Where(a => a.AnswerId == pa.PollAnswerId).FirstOrDefault();
                        if (t != null)
                        {
                            t.Answer    = pa.Answer;
                            t.IsCorrect = pa.IsCorrect;
                        }
                    }
                }
            }

            try
            {
                DAManager.Save();
                //Add the image
                if (poll_image != null)
                {
                    AddPollImage(old_poll.PollId, poll_image);
                }

                return(old_poll.PollId);
            }
            catch (Exception ex)
            {
                logService.WriteError(ex.Message, ex.Message, ex.StackTrace, ex.Source);
                return(-1);
            }
        }
Beispiel #3
0
 public PollAnswer(PollAnswerViewModel pollAnswer)
 {
     Id      = pollAnswer.Id;
     PollId  = pollAnswer.PollId;
     Content = pollAnswer.Content;
 }