/// <summary>
 /// Creates a dinner
 /// </summary>
 /// <param name="dinner">
 /// The dinner.
 /// </param>
 /// <returns>
 /// the dinner we created
 /// </returns>
 public Dinner CreateDinner(Dinner dinner)
 {
     using (NerdDinnersDb nerdDinnersDb = new NerdDinnersDb())
     {
         nerdDinnersDb.Dinners.Add(dinner);
         nerdDinnersDb.SaveChanges();
         return dinner;
     }
 }
 /// <summary>
 /// Creates an RSVP for a dinner
 /// </summary>
 /// <param name="rsvp">
 /// The rsvp object
 /// </param>
 /// <returns>
 /// The updated rsvp object
 /// </returns>
 public Rsvp CreateRsvp(Rsvp rsvp)
 {
     using (NerdDinnersDb nerdDinnersDb = new NerdDinnersDb())
     {
         nerdDinnersDb.RSVPs.Add(rsvp);
         nerdDinnersDb.SaveChanges();
         return rsvp;
     }
 }
        /// <summary>
        /// Delete Dinner
        /// </summary>
        /// <param name="dinnerId">
        /// The dinner id.
        /// </param>
        public void DeleteDinner(int dinnerId)
        {
            using (NerdDinnersDb nerdDinnersDb = new NerdDinnersDb())
            {
                var query = from dinners in nerdDinnersDb.Dinners
                            where dinners.DinnerId.Equals(dinnerId)
                            select dinners;
                var dinner = query.FirstOrDefault();

                nerdDinnersDb.Dinners.Remove(dinner);
                nerdDinnersDb.SaveChanges();
            }
        }
        /// <summary>
        /// Update Dinner
        /// </summary>
        /// <param name="dinner">
        /// The dinner.
        /// </param>
        /// <returns>
        /// Returns a Dinner
        /// </returns>
        public Dinner UpdateDinner(Dinner dinner)
        {
            using (NerdDinnersDb nerdDinnersDb = new NerdDinnersDb())
            {
                nerdDinnersDb.Dinners.Attach(dinner);
                nerdDinnersDb.ChangeObjectState(dinner, System.Data.EntityState.Modified);
                nerdDinnersDb.SaveChanges();
            }

            return dinner;
        }