//GET: Edit //UserActivity/Edit/{id} public ActionResult Edit(int id) { //ViewBag.UserActivities = new SelectList(_db.UserActivities, "ActivityIds", "Title"); ViewBag.Activities = new SelectList(_db.Activities, "ActivityId", "Title"); var src = CreateUserActivityService(); var newDetail = src.GetUserActivityById(id); var model = new UserActivityEdit { UserActivityId = newDetail.UserActivityId, Title = newDetail.Title, //Activities = newDetail.Activities, ActivityIds = newDetail.ActivityIds }; return(View(model)); }
public bool UpdateUserActivity(UserActivityEdit model) { UserActivity editActivity = _db.UserActivities.Single(ua => ua.UserActivityId == model.UserActivityId); editActivity.Title = model.Title; editActivity.ActivityIds = model.ActivityIds; editActivity.UsersActivities = _db.Activities.Where(ua => model.ActivityIds.Contains(ua.ActivityId)).ToList(); List <Activity> activityRemove = _db.Activities.Where(ua => !model.ActivityIds.Contains(ua.ActivityId)).ToList(); foreach (Activity activity in activityRemove) { editActivity.UsersActivities.Remove(activity); } return(_db.SaveChanges() == 1); }
public ActionResult Edit(int id, UserActivityEdit model) { if (!ModelState.IsValid) { return(View(model)); } if (model.UserActivityId != id) { ModelState.AddModelError("", "Id Mismatch"); return(View(model)); } var service = CreateUserActivityService(); if (service.UpdateUserActivity(model)) { TempData["SaveResult"] = "This Activity was updated!"; return(RedirectToAction("Index")); } ModelState.AddModelError("", "This Activity could not be updated."); return(View(model)); }