Esempio n. 1
0
        public ActionResult Create(NerdDinner.Entities.Dinners dinner)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    dinner.HostedBy = User.Identity.Name;
                    IList <NerdDinner.Entities.RSVP> rsvps = new List <NerdDinner.Entities.RSVP>();
                    rsvps.Add(new NerdDinner.Entities.RSVP()
                    {
                        AttendeeName = User.Identity.Name
                    });
                    rsvps[0].dinner = dinner;
                    dinner.RSVPs    = rsvps;
                    dinnerRepository.Add(dinner);
                    dinnerRepository.Save(dinner);

                    return(RedirectToAction("Details", new { id = dinner.DinnerID }));
                }
                catch
                {
                    ModelState.AddModelErrors(dinner.GetRuleViolations());
                }
            }

            return(View(new DinnerFormViewModel(dinner)));
        }
Esempio n. 2
0
        public ActionResult Edit(int id)
        {
            NerdDinner.Entities.Dinners dinner = dinnerRepository.GetDinner(id);

            if (!dinner.IsHostedBy(User.Identity.Name))
            {
                return(View("InvalidOwner"));
            }

            return(View(new DinnerFormViewModel(dinner)));
        }
Esempio n. 3
0
        //
        // GET: /Dinners/Details/5


        public ActionResult Details(int id)
        {
            NerdDinner.Entities.Dinners dinner = dinnerRepository.GetDinner(id);

            if (dinner == null)
            {
                return(View("NotFound"));
            }

            return(View(dinner));
        }
        public void CreateAction_Should_Fail_Give_Empty_Dinner()
        {
            // Arrange
            var controller = CreateDinnersControllerAs("scottgu");
            NerdDinner.Entities.Dinners dinner = new NerdDinner.Entities.Dinners();

            // Act
            ViewResult result = (ViewResult) controller.Create(dinner);

            // Assert
            Assert.IsInstanceOf(typeof (ViewResult), result);
            Assert.IsTrue(result.ViewData.ModelState.IsValid == false);
            Assert.AreEqual(6, result.ViewData.ModelState.Sum(p => p.Value.Errors.Count), "Expected Errors");
        }
        public void CreateAction_Should_Fail_Give_Empty_Dinner()
        {
            // Arrange
            var controller = CreateDinnersControllerAs("scottgu");

            NerdDinner.Entities.Dinners dinner = new NerdDinner.Entities.Dinners();

            // Act
            ViewResult result = (ViewResult)controller.Create(dinner);

            // Assert
            Assert.IsInstanceOf(typeof(ViewResult), result);
            Assert.IsTrue(result.ViewData.ModelState.IsValid == false);
            Assert.AreEqual(6, result.ViewData.ModelState.Sum(p => p.Value.Errors.Count), "Expected Errors");
        }
Esempio n. 6
0
        public ActionResult Delete(int id)
        {
            NerdDinner.Entities.Dinners dinner = dinnerRepository.GetDinner(id);

            if (dinner == null)
            {
                return(View("NotFound"));
            }

            if (!dinner.IsHostedBy(User.Identity.Name))
            {
                return(View("InvalidOwner"));
            }

            return(View(dinner));
        }
Esempio n. 7
0
        public ActionResult Edit(int id, FormCollection collection)
        {
            NerdDinner.Entities.Dinners dinner = dinnerRepository.GetDinner(id);

            if (!dinner.IsHostedBy(User.Identity.Name))
            {
                return(View("InvalidOwner"));
            }

            try
            {
                UpdateModel(dinner);

                dinnerRepository.Save(dinner);

                return(RedirectToAction("Details", new { id = dinner.DinnerID }));
            }
            catch
            {
                ModelState.AddModelErrors(dinner.GetRuleViolations());

                return(View(new DinnerFormViewModel(dinner)));
            }
        }
        //
        // Persistence

        public void Save(NerdDinner.Entities.Dinners dinner)
        {
            _session.SaveOrUpdate(dinner);
            _session.Flush();
        }
 public void Delete(NerdDinner.Entities.Dinners dinner)
 {
     _session.Delete(dinner);
     _session.Flush();
 }
Esempio n. 10
0
 // Constructor
 public DinnerFormViewModel(NerdDinner.Entities.Dinners dinner)
 {
     Dinner    = dinner;
     Countries = new SelectList(PhoneValidator.Countries, Dinner.Country);
 }