public ActionResult UpdateProfile([DataSourceRequest] DataSourceRequest dsRequest, ProfileAdminViewModel profileAdminViewModel) { var userProfile = db.UserProfiles.Find(profileAdminViewModel.Id); if (userProfile != null && ModelState.IsValid) { userProfile.FirstName = profileAdminViewModel.FirstName; userProfile.LastName = profileAdminViewModel.LastName; userProfile.Visibility = profileAdminViewModel.Visibility; userProfile.EducationVisibility = profileAdminViewModel.EducationVisibility; userProfile.JobsVisibility = profileAdminViewModel.JobVisibility; userProfile.SkillVisibility = profileAdminViewModel.SkillVisibility; userProfile.Email = profileAdminViewModel.Email; db.Entry<UserProfile>(userProfile).State = EntityState.Modified; db.SaveChanges(); } return Json(ModelState.ToDataSourceResult()); }
public ActionResult DeleteProfile([DataSourceRequest] DataSourceRequest dsRequest, ProfileAdminViewModel ProfileAdminViewModel) { var userProfile = db.UserProfiles.Find(ProfileAdminViewModel.Id); if (userProfile != null && ModelState.IsValid && userProfile.UserId != WebSecurity.CurrentUserId) { // possible performance issue var endorsements = db.Endorsements .Where(x => x.Endorser.UserId == userProfile.UserId); foreach (var endorsement in endorsements) { db.Endorsements.Remove(endorsement); } userProfile.Following.Clear(); userProfile.Followers.Clear(); db.Entry(userProfile).State = EntityState.Modified; db.UserProfiles.Remove(userProfile); db.SaveChanges(); } return Json(ModelState.ToDataSourceResult()); }