// // GET: /Account/UserExtendedProfile public ActionResult UserExtendedProfile() { UserProfile user = _accountService.GetUserProfile(User.Identity.Name); ViewBag.TagList = _accountService.GetTags(); ViewBag.ProfessionList = new SelectList(_accountService.GetProfessionsList()); if (user == null || user.UserExtendedProfile == null) { return(View()); } UserExtendedProfileModel model = new UserExtendedProfileModel { AlmaMater = user.UserExtendedProfile.AlmaMater, City = user.UserExtendedProfile.City, DOB = user.UserExtendedProfile.DOB, Profession = user.UserExtendedProfile.Profession, Qualifications = user.UserExtendedProfile.Qualifications, ImageUrl = user.UserExtendedProfile.ImageUrl, Description = user.UserExtendedProfile.Description }; model.Tags = new List <int>(); foreach (Tag tag in user.UserExtendedProfile.Tags) { model.Tags.Add(tag.Id); } return(View(model)); }
// // GET: /Account/UserExtendedProfile public ActionResult UserExtendedProfile() { using (UserProfileDatabaseContext dbContext = new UserProfileDatabaseContext()) { UserProfile user = dbContext.UserProfiles.FirstOrDefault(p => p.UserName == User.Identity.Name); ViewBag.TagList = Util.TagList; ViewBag.ProfessionList = new SelectList(Util.ListOfProfessions); if (user == null || user.UserExtendedProfile == null) { return(View()); } UserExtendedProfileModel model = new UserExtendedProfileModel { AlmaMater = user.UserExtendedProfile.AlmaMater, City = user.UserExtendedProfile.City, DOB = user.UserExtendedProfile.DOB, Profession = user.UserExtendedProfile.Profession, Qualifications = user.UserExtendedProfile.Qualifications, ImageUrl = user.UserExtendedProfile.ImageUrl, Description = user.UserExtendedProfile.Description }; model.Tags = new List <int>(); foreach (Tag tag in user.UserExtendedProfile.Tags) { model.Tags.Add(tag.Id); } return(View(model)); } }
public ActionResult UserExtendedProfile(UserExtendedProfileModel model) { if (ModelState.IsValid) { // Extend the user's profile try { _accountService.AddUserExtendedProfile(User.Identity.Name, model.AlmaMater, model.City, model.DOB, model.Profession, model.Qualifications, model.Description, model.Tags); return(RedirectToAction("Index", "Home")); } catch (Exception e) { // TODO : Exception printing stacktrace needs to be removed. ModelState.AddModelError("", e.StackTrace); } } ViewBag.TagList = _accountService.GetTags(); ViewBag.ProfessionList = new SelectList(_accountService.GetProfessionsList()); // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult UserExtendedProfile(UserExtendedProfileModel model) { if (ModelState.IsValid) { // Extend the user's profile try { using (UserProfileDatabaseContext dbContext = new UserProfileDatabaseContext()) { UserProfile user = dbContext.UserProfiles.FirstOrDefault(p => p.UserName == User.Identity.Name); Dictionary <int, Tag> tagMap = dbContext.Tag.ToDictionary(x => x.Id, x => x); if (user == null) { // Log throw new Exception("User not found"); } UserExtendedProfile profile = new UserExtendedProfile { Id = user.Id, UserProfile = user, AlmaMater = model.AlmaMater, City = model.City, DOB = model.DOB, Profession = model.Profession, Qualifications = model.Qualifications, Description = model.Description, ImageUrl = string.Empty, Tags = new List <Tag>() }; foreach (int tagId in model.Tags) { Tag selectedTag = tagMap[tagId]; profile.Tags.Add(selectedTag); selectedTag.Users.Add(profile); } if (user.UserExtendedProfile != null) { foreach (Tag tag in user.UserExtendedProfile.Tags) { // This updates the tag } profile.ImageUrl = user.UserExtendedProfile.ImageUrl; profile.Update(dbContext); } else { dbContext.UserExtendedProfile.Add(profile); } UserProfile userProfile = new UserProfile { Id = user.Id, EmailId = user.EmailId, MobilePhone = user.MobilePhone, Country = user.Country, UserName = user.UserName, UserExtendedProfile = profile }; userProfile.Update(dbContext); dbContext.SaveChanges(); } return(RedirectToAction("Index", "Home")); } catch (Exception e) { // TODO : Exception printing stacktrace needs to be removed. ModelState.AddModelError("", e.StackTrace); } } ViewBag.TagList = Util.TagList; ViewBag.ProfessionList = new SelectList(Util.ListOfProfessions); // If we got this far, something failed, redisplay form return(View(model)); }