Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        // 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));
        }
Esempio n. 3
0
        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 }));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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));
            }
        }