Imports BVSoftware.BVC.Core Imports System.Web.Security Public Class myaccount_changeemail Inherits BaseStorePage Protected WithEvents inNewEmail As System.Web.UI.WebControls.TextBox Protected WithEvents valNewEmail As System.Web.UI.WebControls.RequiredFieldValidator Protected WithEvents val2NewEmail As System.Web.UI.WebControls.RegularExpressionValidator Protected WithEvents inNewEmailConfirm As System.Web.UI.WebControls.TextBox Protected WithEvents valConfEmail As System.Web.UI.WebControls.RequiredFieldValidator Protected WithEvents valNewEmailConfirm As System.Web.UI.WebControls.CompareValidator Protected WithEvents inPassword As System.Web.UI.WebControls.TextBox Protected WithEvents valPassword As System.Web.UI.WebControls.RequiredFieldValidator Protected WithEvents val2Password As System.Web.UI.WebControls.RegularExpressionValidator Protected WithEvents btnCancel As System.Web.UI.WebControls.ImageButton Protected WithEvents FirstFocus1 As MetaBuilders.WebControls.FirstFocus Protected WithEvents DefaultButtons1 As MetaBuilders.WebControls.DefaultButtons Protected WithEvents valSummary As System.Web.UI.WebControls.ValidationSummary Protected WithEvents MetaDescriptionControl As BVSoftware.WebControls.MetaTag Protected WithEvents MetaKeywordsControl As BVSoftware.WebControls.MetaTag Protected WithEvents TitleLabel As System.Web.UI.WebControls.Label Protected WithEvents lblPassword As System.Web.UI.WebControls.Label Protected WithEvents lblNewUsername As System.Web.UI.WebControls.Label Protected WithEvents lblConfirmNewUsername As System.Web.UI.WebControls.Label Protected WithEvents TrailHomeLink As System.Web.UI.WebControls.HyperLink Protected WithEvents MyAccountLink As System.Web.UI.WebControls.HyperLink Protected WithEvents btnSave As System.Web.UI.WebControls.ImageButton Protected WithEvents msg As BVSoftware.WebControls.WebPageMessage Protected WithEvents CSSTag1 As BVSoftware.WebControls.CSSTag #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then MetaKeywordsControl.Content = WebAppSettings.MetaKeywords MetaDescriptionControl.Content = WebAppSettings.MetaDescription CSSTag1.StyleSheetURL = PersonalizationServices.GetPersonalizedStyleSheet btnCancel.ImageUrl = ImageHelper.GetThemedButton("Cancel.gif") btnSave.ImageUrl = ImageHelper.GetThemedButton("SaveChanges.gif") Me.TitleLabel.Text = Content.SiteTerms.GetTerm("ChangeEmail") PageTitle = Content.SiteTerms.GetTerm("ChangeEmail") Me.lblNewUsername.Text = Content.SiteTerms.GetTerm("NewUsername") Me.lblConfirmNewUsername.Text = Content.SiteTerms.GetTerm("ConfirmNewUsername") Me.lblPassword.Text = Content.SiteTerms.GetTerm("Password") Me.MyAccountLink.Text = Content.SiteTerms.GetTerm("MyAccount") Me.val2NewEmail.Text = ImageHelper.GetErrorIconTag Me.val2Password.Text = ImageHelper.GetErrorIconTag Me.valConfEmail.Text = ImageHelper.GetErrorIconTag Me.valNewEmail.Text = ImageHelper.GetErrorIconTag Me.valNewEmailConfirm.Text = ImageHelper.GetErrorIconTag Me.valPassword.Text = ImageHelper.GetErrorIconTag End If BVC2004Store.CheckThisPage(0) If Not Page.IsPostBack Then Try inNewEmail.Text = BVC2004Store.GetCurrentUser.UserName Catch Ex As Exception msg.ShowException(Ex) End Try End If End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnCancel.Click Response.Redirect("myaccount_orders.aspx", True) End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnSave.Click msg.Clear() If Page.IsValid() Then Dim ThisUser As Membership.UserAccount = BVC2004Store.GetCurrentUser Dim RequestedUser As Membership.UserAccount Dim oldEmail As String = ThisUser.UserName RequestedUser = MembershipServices.GetUser(inNewEmail.Text) If RequestedUser Is Nothing Then If MembershipServices.DoPasswordsMatch(inPassword.Text, ThisUser) = True Then 'NOTE: This code assumes email and username will always be the same ThisUser.UserName = inNewEmail.Text ThisUser.Email = inNewEmail.Text Try BVC2004Store.UpdateCurrentUser(ThisUser) Dim lists As DataTable = ContactServices.MailingLists.GetLists() For i As Integer = 0 To lists.Rows.Count - 1 If ContactServices.MailingLists.CheckMemberShip(lists.Rows(i).Item("ID"), oldEmail) = True Then ContactServices.MailingLists.RemoveMember(lists.Rows(i).Item("ID"), oldEmail) ContactServices.MailingLists.AddMember(lists.Rows(i).Item("ID"), inNewEmail.Text.Trim) End If Next lists = Nothing msg.ShowOK("Email Address Changed") Catch CreateEx As Membership.BVMembershipUserException Select Case CreateEx.Status Case Membership.CreateUserStatus.DuplicateUsername msg.ShowWarning("A user account with that email address already exists. Please select another email address.") Case Membership.CreateUserStatus.InvalidPassword msg.ShowWarning("Please check your password and try again.") Case Membership.CreateUserStatus.UserNotFound msg.ShowWarning("User account couldn't be located.") Case Else End Select End Try Else msg.ShowWarning("Couldn't update E-mail Address. Please check your password.") End If Else msg.ShowWarning("An account with that email address already exists! Please select another email address.") End If RequestedUser = Nothing ThisUser = Nothing End If End Sub End Class