public ActionResult Edit(FormControlsViewModel model) { var user = _fRepo.GetUser(x => x.ID == model.UserID); var userDescription = _fRepo.GetUserDescription(x => x.UserID == user.ID); var userCountry = _fRepo.GetUserCountry(x => x.UserID == user.ID); var selectedCountryId = _fRepo.GetCountry(linqWhereCountry: x => x.Name == model.Country).ID; TryUpdateModel(user, "", new string[] { "Name", "Email", "Gender" }); TryUpdateModel(userDescription, "", new string[] { "Description" }); if (userCountry.CountryID != selectedCountryId) { if (userCountry != null) { _fRepo.RemoveUserCountry(userCountry); _fRepo.Save(); } _fRepo.AddUserCountry(null, selectedCountryId, user); } if (!_fRepo.CheckNewCourseList(user, model.Courses)) { _fRepo.RemovUserCourses(user.ID); _fRepo.Save(); if (model.Courses != null) { _fRepo.AddUserCourses(model.Courses, user.ID); } } _fRepo.Save(); return(RedirectToAction("Index", "Home")); }