public void ResponseCreated() { // Arrange // Arrange var fakeDB = new FakePollContext(); fakeDB.Polls = new FakePollSet(); fakeDB.Questions = new FakeDbSet <Question>(); fakeDB.Answers = new FakeDbSet <Answer>(); fakeDB.Responses = new FakeResponseSet(); fakeDB.Selections = new FakeDbSet <Selection>(); var poll1 = new Poll { ID = 1, Title = "Hello" }; fakeDB.Polls.Add(poll1); var answer1 = new Answer { ID = 1, Text = "Answer1", QuestionID = 1 }; fakeDB.Answers.Add(answer1); var question1 = new Question { ID = 1, Poll = poll1, Text = "Question1", Answers = new List <Answer> { answer1 } }; fakeDB.Questions.Add(question1); var selection1 = new Selection { ID = 1, Answer = answer1, AnswerID = 1 }; fakeDB.Selections.Add(selection1); var response1 = new Response { ID = 1, Poll = poll1, Selections = new List <Selection> { selection1 } }; fakeDB.Responses.Add(response1); ResponsesController controller = new ResponsesController(fakeDB); CreateResponseViewModel viewmodel = new CreateResponseViewModel { Poll = poll1, Selections = new List <int> { 1 } }; // Act ViewResult result = controller.Create(viewmodel) as ViewResult; // Assert // Assert.AreEqual(fakeDB.Responses.Find(1).Selections.First().AnswerID, 1); }
// GET: Responses/Create public ActionResult Create(string pollId) { if (pollId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Poll poll = db.Polls.Find(Int32.Parse(pollId)); if (poll == null) { return(HttpNotFound()); } CreateResponseViewModel viewmodel = new CreateResponseViewModel(poll); return(View(viewmodel)); }
public ActionResult Send(CreateResponseViewModel response) { bool responseIsEmpty = response.Text == null || response.Text.Equals(string.Empty); Mapper.Initialize(cfg => cfg.CreateMap <CreateResponseViewModel, ResponseViewModelBLL>() .ForMember("Date", opt => opt.MapFrom(c => DateTime.Now)) .ForMember("PerformerId", opt => opt.MapFrom(c => User.Identity.GetUserId <int>()))); ResponseViewModelBLL responseDto = Mapper.Map <CreateResponseViewModel, ResponseViewModelBLL>(response); if (ModelState.IsValid) { OperationDetails operationDetails = _responseService.Create(responseDto); _unitOfWork.Save(); if (!operationDetails.Succedeed) { ModelState.AddModelError(operationDetails.Property, operationDetails.Message); } } return(RedirectToAction("Details", "Orders", new { id = response.OrderId, emptyResponse = responseIsEmpty })); }
public ActionResult PostResponse(int?id, string returnUrl = null) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var post = db.Posts.Find((int)id); var from = User.Identity.GetUserId(); var to = post.Owner; var createresponse = new CreateResponseViewModel { PostId = (int)id, PostTitle = post.Title, From = from, FromEmail = db.Users.Find(from).Email, To = to, ToEmail = db.Users.Find(to).Email, ReturnUrl = returnUrl }; return(View(createresponse)); }
public ActionResult Create(CreateResponseViewModel viewmodel) { if (ModelState.IsValid) { Poll poll = db.Polls.Find(viewmodel.Poll.ID); Response PollResponse = new Response { Poll = poll, Selections = new List <Selection>() }; foreach (int selectionAnswerID in viewmodel.Selections) { Answer answer = db.Answers.Find(selectionAnswerID); PollResponse.Selections.Add(new Selection { Answer = answer }); } db.Responses.Add(PollResponse); db.SaveChanges(); return(RedirectToAction("Index", "Polls")); } return(View(viewmodel)); }
public ActionResult PostResponse(CreateResponseViewModel c) { if (ModelState.IsValid) { var temp = new Message { Body = c.Body, PostId = c.PostId, From = c.From, To = c.To, TimeStamp = DateTime.Now }; db.Messages.Add(temp); db.SaveChanges(); TempData["ResponseSuccess"] = "Successfully send response"; return(RedirectToAction("Details", "Posts", new { id = c.PostId, returnUrl = c.ReturnUrl })); } else { return(View(c)); } }