/// <summary> /// Creates the Membership user and update Extended Membership user. /// </summary> /// <param name="userName">Name of the user.</param> /// <param name="password">The password.</param> /// <param name="email">The email.</param> /// <param name="firstName">The first name.</param> /// <param name="lastName">The last name.</param> /// <param name="title"></param> /// <param name="hourlyRate"></param> /// <param name="address"></param> /// <param name="city"></param> /// <param name="state"></param> /// <param name="zip"></param> /// <param name="phone"></param> /// <param name="createUserStatus"></param> /// <returns></returns> public static MembershipUserExtended CreateUser(string userName, string password, string email, string firstName, string lastName, string title, double?hourlyRate, string address, string city, string state, string zip, string phone, out MembershipCreateStatus createUserStatus) { if (password.Length < 6) { password = Membership.GeneratePassword(6, 0); } var user = Membership.CreateUser(userName, password, email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createUserStatus); if (createUserStatus == MembershipCreateStatus.Success) { using (var dbContext = new TimeTrackingEntities()) { try { var extendedUserProfile = dbContext.ExtendedUserProfiles.FirstOrDefault(u => u.UserName == user.UserName); if (extendedUserProfile == null) { extendedUserProfile = new ExtendedUserProfile { UserId = GetUserIdByUserName(user.UserName), UserName = user.UserName, FirstName = firstName, LastName = lastName, TempPassword = password, Title = title, HourlyRate = hourlyRate, Address = address, City = city, State = state, Zip = zip, Phone = phone, CreatedBy = HttpContext.Current.User == null || string.IsNullOrEmpty(HttpContext.Current.User.Identity.Name) ? "sys" : HttpContext.Current.User.Identity.Name, CreatedDate = DateTime.Now }; dbContext.ExtendedUserProfiles.Add(extendedUserProfile); dbContext.SaveChanges(); } else { if (user != null) { Update(user.UserName, firstName, lastName, title, hourlyRate, address, city, state, zip, phone); } } return(GetUser(userName, userIsOnline: false)); } catch (Exception ex) { createUserStatus = MembershipCreateStatus.UserRejected; } } } return(null); }
protected void PopulateExtendedUserProfile() { if (System.Security.Claims.ClaimsPrincipal.Current != null) { if (System.Security.Claims.ClaimsPrincipal.Current.FindFirst("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress") != null) { ExtendedUserProfile = new ExtendedUserProfile(); ExtendedUserProfile.Email = System.Security.Claims.ClaimsPrincipal.Current.FindFirst("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress").Value; //ExtendedUserProfile.FullName = claimPrincipal.Claims.FirstOrDefault(c => c.Type == "name").Value; ExtendedUserProfile.FullName = System.Security.Claims.ClaimsPrincipal.Current.FindFirst("name").Value; ExtendedUserProfile.ObjectIdentifier = System.Security.Claims.ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value; } } }