public static List<Dinner> CreateTestDinners()
        {
            List<Dinner> dinners = new List<Dinner>();

            for (int i = 1; i <= 100; i++)
            {

                Dinner sampleDinner = new Dinner()
                                      {
                                              Title = "Sample Dinner",
                                              HostedBy = "SomeUser",
                                              Address = "California",
                                              Country = "USA",
                                              ContactPhone = "425-555-1212",
                                              Description = "Some description",
                                              EventDate = DateTime.Now.AddDays(i),
                                              Latitude = 99,
                                              Longitude = -99
                                      };

                RSVP rsvp = new RSVP();
                rsvp.AttendeeName = "SomeUser";
                sampleDinner.AddRsvp(rsvp);

                dinners.Add(sampleDinner);
            }

            return dinners;
        }
        public ActionResult Create(Dinner dinner)
        {
            if (ModelState.IsValid) {
                try {
                    using (var tx = _session.BeginTransaction())
                    {
                        dinner.HostedBy = User.Identity.Name;

                        RSVP rsvp = new RSVP();
                        rsvp.AttendeeName = User.Identity.Name;
                        dinner.AddRsvp(rsvp);
                        _dinnerRepository.Save(dinner);
                        tx.Commit();
                        return RedirectToAction("Details", new { id = dinner.DinnerID });
                    }
                }
                catch {
                    ModelState.AddModelErrors(dinner.GetRuleViolations());
                }
            }

            return View(new DinnerFormViewModel(dinner));
        }