public static ProfileListViewModel CreateViewModel(UserProfile user) { var profileListViewModel = new ProfileListViewModel(); profileListViewModel.Name = string.Format("{0} {1}", user.FirstName, user.LastName); profileListViewModel.Id = user.UserId; return profileListViewModel; }
public static ProfileConnectionViewModel CreateViewModel(UserProfile user) { var model = new ProfileConnectionViewModel(); model.Id = user.UserId; model.Name = string.Format("{0} {1}", user.FirstName, user.LastName); model.Email = user.Email; return model; }
public static ProfileViewModel CreateViewModel(UserProfile user, bool isIndex = false) { var model = new ProfileViewModel(); model.Id = user.UserId; model.Name = string.Format("{0} {1}", user.FirstName, user.LastName); model.Email = user.Email; model.Skills = new List<SkillViewModel>(); model.Jobs = new List<JobViewModel>(); model.Educations = new List<EducationViewModel>(); model.APIKey = user.APIKey; if (isIndex) { if (user.SkillVisibility == VisibilityState.Public) { model.Skills = user.Skills.Select(s => SkillViewModel.CreateViewModel(s)); } if (user.JobsVisibility == VisibilityState.Public) { model.Jobs = user.Jobs.Select(j => JobViewModel.CreateViewModel(j)); } if (user.EducationVisibility == VisibilityState.Public) { model.Educations = user.Education.Select(e => EducationViewModel.CreateViewModel(e)); } } else { model.APIKey = string.Empty; } model.Connections = user.Followers .Where(e => e.Visibility == VisibilityState.Public) .Select(e => ProfileConnectionViewModel.CreateViewModel(e)); model.Requests = user.Requests.Select(r => new ProfileViewModel() { Name = r.FromUserName, Id = r.FromUserId }); return model; }
public static ProfileApiViewModel CreateViewModel(UserProfile user, bool isIndex = false) { var apiViewModel = new ProfileApiViewModel(); var jsonSerializer = new JavaScriptSerializer(); apiViewModel.Name = string.Format("{0} {1}", user.FirstName, user.LastName); apiViewModel.Email = user.Email; apiViewModel.Skills = jsonSerializer.Serialize( user.Skills .Select(s => new { Name = s.Name })); apiViewModel.Jobs = jsonSerializer.Serialize(user.Jobs .Select(j => new { Employer = j.Employer, Position = j.Position, Description = j.Description, StartDate = j.StartDate.ToString(), EndDate = j.EndDate.ToString() })); apiViewModel.Educations = jsonSerializer.Serialize(user.Education .Select(e => new { Institution = e.Institution, Specialty = e.Specialty, Description = e.Description, StartDate = e.StartDate.ToString(), EndDate = e.EndDate.ToString() })); apiViewModel.Connections = jsonSerializer.Serialize(user.Followers .Where(e => e.Visibility == VisibilityState.Public) .Select(e => new { Name = String.Format("{0} {1}", e.FirstName, e.LastName), })); return apiViewModel; }
public ActionResult Edit(UserProfile user) { if (user.UserId == WebSecurity.CurrentUserId && user.UserName.ToLower() == WebSecurity.CurrentUserName) { if (ModelState.IsValid) { db.Entry(user).State = System.Data.EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index", "Account"); } } return View(user); }
private void MakeConnectState(UserProfile viewedUser, UserProfile currentUser, ProfileViewModel viewModel) { if (currentUser != null) { if (currentUser.UserId == viewedUser.UserId) { viewModel.CanConnect = false; } else { // check if the users are connected if (currentUser.Following.Contains(viewedUser)) { viewModel.Skills = viewModel.Skills.Select(s => { if (!s.Endorsements.Where(u => u.Id == currentUser.UserId).Any()) { s.CanBeEndorsed = true; } else { s.AlreadyEndorsed = true; } return s; }); } else { // check if connection hasn't already been requested if (!db.Requests.Where(r => (r.FromUserId == currentUser.UserId && r.UserId == viewedUser.UserId) || (r.FromUserId == viewedUser.UserId && r.UserId == currentUser.UserId) ).Any()) { viewModel.CanConnect = true; } } } } }