public ActionResult Edit(int id)
        {
            ProfileController.SetViewDataForDate(ViewData);
            ProfileController.SetViewDataForTime(ViewData);
            EventModel em = eventServices.GetEventById(id);
            EditEventViewModel cem = new EditEventViewModel
            {
                EventId = id,
                Address = em.Location.Address,
                CategoryString = em.Category.Name,
                Description = em.Description,
                EndTime = em.EndTime,
                Latitude = em.Location.Latitude,
                Longitude = em.Location.Longitude,
                StartTime = em.StartTime,
                Title = em.Title,
                CreatedBy = em.CreatedById,
                CreateTime = em.Created,
                StartDay = em.StartTime.Day,
                StartMinute = em.StartTime.Minute.ToString(),
                StartYear = em.StartTime.Year,
                EndDay = em.EndTime.Day,
                EndMinute = em.EndTime.Minute.ToString(),
                EndYear = em.EndTime.Year
            };

            cem.StartMonth = cem.Months.ToArray()[em.StartTime.Month - 1].Value;
            cem.EndMonth = cem.Months.ToArray()[em.EndTime.Month - 1].Value;

            if (em.StartTime.Hour > 12)
            {
                cem.StartAMPM = "PM";
                cem.StartHour = em.StartTime.Hour - 12;
            }
            else
            {
                cem.StartAMPM = "AM";
                cem.StartHour = em.StartTime.Hour;
            }

            if (em.EndTime.Hour > 12)
            {
                cem.EndAMPM = "PM";
                cem.EndHour = em.EndTime.Hour - 12;
            }
            else
            {
                cem.EndAMPM = "AM";
                cem.EndHour = em.EndTime.Hour;
            }
            UserProfileModel profile = accountServices.GetUserProfileByUsername(User.Identity.Name);
            if (profile != null && em != null)
            {
                if (em.CreatedById == profile.UserProfileId)
                {
                    return View(cem);
                }
            }

            return RedirectToAction("Index", "Home");
        }
        public ActionResult Edit(EditEventViewModel model)
        {
            UserModel um = accountServices.GetUserByUsername(User.Identity.Name);
            CreateEventModel cem = new CreateEventModel();
            cem.Address = model.Address;
            cem.CategoryString = model.CategoryString;
            cem.Description = model.Description;
            cem.EndTime = DateTime.Parse(model.EndMonth + "/" + model.EndDay + "/" + model.EndYear + " " + model.EndHour + ":" + model.EndMinute + " " + model.EndAMPM);
            cem.Latitude = model.Latitude;
            cem.Longitude = model.Longitude;
            cem.StartTime = DateTime.Parse(model.StartMonth + "/" + model.StartDay + "/" + model.StartYear + " " + model.StartHour + ":" + model.StartMinute + " " + model.StartAMPM);
            cem.Title = model.Title;
            string username = User.Identity.Name;
            cem.UserProfileId = accountServices.GetUserProfileByUsername(username).UserProfileId;
            try
            {

                eventServices.UpdateEvent(new UpdateEventModel
                {
                    Description = cem.Description,
                    EndTime = cem.EndTime,
                    EventId = model.EventId,
                    IsPrivate = cem.IsPrivate,
                    Address = model.Address,
                    Latitude = model.Latitude,
                    Longitude = model.Longitude,
                    StartTime = cem.StartTime,
                    Title = cem.Title,
                    CategoryString = cem.CategoryString
                });
            }
            catch (ConstraintException e)
            {
                ViewData["message"] = e.Message;

                if (e.Data.Contains("Entity"))
                {
                    ViewData["message"] = e.Data["Entity"] + " cannot be left blank!";
                }

                ProfileController.SetViewDataForDate(ViewData);
                ProfileController.SetViewDataForTime(ViewData);

                return View(model);
            }
            return Redirect("/e/" + model.EventId);
        }