protected void SaveButton_Click(object sender, EventArgs e) { try { Page.Validate("NewUserGroup"); if (Page.IsValid) { //Fill cart from anonymous user MembershipUser user = Membership.GetUser(); if (user != null) { CurrentCart = hccCart.GetCurrentCart(user); } else { CurrentCart = hccCart.GetCurrentCart(); } UserRegistration_Module userRegistrationModule = null; WebpageInfo confirmPage = null; if (null != this.WebModuleInfo) { UserRegistration_Module.Get(this.WebModuleInfo.Id); } //formulate username if (CurrentAspNetId != null) { user = Membership.GetUser(CurrentAspNetId); } string email = txtEmail.Text.Trim(); string userName = email.Split('@')[0] + DateTime.Now.ToString("yyyyMMddHHmmtt"); string password = txtPassword.Text; //OrderNumberGenerator.GenerateOrderNumber("?#?#?#?#"); MembershipCreateStatus createResult; MembershipUser newUser = Membership.CreateUser(userName, password, email, null, null, true, out createResult); if (createResult == MembershipCreateStatus.Success) { //Assign Customer role to newUser Roles.AddUserToRole(newUser.UserName, "Customer"); //log in user. FormsAuthentication.SetAuthCookie(newUser.UserName, false); //Create a Healthy Chef profile for this new user hccUserProfile newProfile = new hccUserProfile { MembershipID = (Guid)newUser.ProviderUserKey, CreatedBy = (Membership.GetUser() == null ? Guid.Empty : (Guid)Membership.GetUser().ProviderUserKey), CreatedDate = DateTime.Now, AccountBalance = 0.00m, IsActive = true }; //save Shipping Address AddressEdit_Shipping1.Save(); newProfile.ShippingAddressID = AddressEdit_Shipping1.PrimaryKeyIndex; newProfile.FirstName = AddressEdit_Shipping1.CurrentAddress.FirstName.Trim(); newProfile.LastName = AddressEdit_Shipping1.CurrentAddress.LastName.Trim(); newProfile.ProfileName = AddressEdit_Shipping1.CurrentAddress.FirstName.Trim(); //save Billing Address AddressEdit_Billing1.Save(); newProfile.BillingAddressID = AddressEdit_Billing1.PrimaryKeyIndex; //Save all hccProfile information newProfile.Save(); //Credit Card try { CreditCard1.CurrentUserProfileID = newProfile.UserProfileID; CreditCard1.Save(); } catch { } //Update previously anonymously-created hccCart CurrentCart.AspNetUserID = newProfile.MembershipID; CurrentCart.Save(); List <hccCartItem> cartItems = hccCartItem.GetBy(CurrentCart.CartID); cartItems.ForEach(delegate(hccCartItem ci) { ci.UserProfileID = newProfile.UserProfileID; ci.Save(); }); //Send E-mail notification to account user try { HealthyChef.Email.EmailController ec = new HealthyChef.Email.EmailController(); ec.SendMail_NewUserConfirmation(email, password); } catch { } if (null != userRegistrationModule) { if (!string.IsNullOrEmpty(userRegistrationModule.NotifyEmailAddress)) { SecurityEmail.Send(userRegistrationModule.NotifyEmailAddress, "New user registration", "A new user is waiting for approval. To manage users, click this link:\n" + Request.Url.Scheme + "://" + Request.Url.Authority + "/WebModules/Security/Manage/UserList.aspx" ); } if (!DisableRedirect) { confirmPage = Webpage.GetWebpage(userRegistrationModule.ConfirmationPageNavigationId); if (null != confirmPage) { Response.Redirect(confirmPage.Path); } else { if (Request.QueryString["fc"] != null) { HttpContext.Current.Response.Redirect("~/cart.aspx?confirm=1", false); } else { if (newUser != null) { HttpContext.Current.Response.Redirect(FormsAuthentication.GetRedirectUrl(newUser.UserName, false)); } else { HttpContext.Current.Response.Redirect("~/", false); } } } } } else { if (Request.QueryString["fc"] != null) { HttpContext.Current.Response.Redirect("~/cart.aspx?confirm=1", false); } else { if (newUser != null) { HttpContext.Current.Response.Redirect(FormsAuthentication.GetRedirectUrl(newUser.UserName, false)); } else { HttpContext.Current.Response.Redirect("~/", false); } } } } else { Msg.ShowError(UserRegistration_Module.GetHumanStatusMessage(createResult)); } } } catch (Exception) { throw; } }