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()); } }
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); } }
public PollAnswer(PollAnswerViewModel pollAnswer) { Id = pollAnswer.Id; PollId = pollAnswer.PollId; Content = pollAnswer.Content; }