
Partial Class password_recovery
    Inherits System.Web.UI.Page
    Public _selectedLanguage As String = ""

    Protected Overrides Sub InitializeCulture()

        If Request.QueryString("lang") IsNot Nothing Then
            _selectedLanguage = Request.QueryString("lang").ToString
        Else
            If Session("lang") IsNot Nothing Then
                _selectedLanguage = Session("lang").ToString
            Else
                If Request.Cookies("lang") IsNot Nothing Then
                    _selectedLanguage = Request.Cookies("lang").Value.ToString
                End If
            End If
        End If

        Session("lang") = _selectedLanguage

        If String.IsNullOrEmpty(_selectedLanguage) = False Then
            Me.UICulture = _selectedLanguage
            Me.Culture = Global.Resources.Resource.ResourceManager.GetString(_selectedLanguage)

            System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo(_selectedLanguage)
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Global.Resources.Resource.ResourceManager.GetString(_selectedLanguage))
        End If

        MyBase.InitializeCulture()
    End Sub

    ' define subject and body of Password Recovery mail  
    Protected Sub PasswordRecovery2_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles PasswordRecovery2.SendingMail
        e.Message.IsBodyHtml = True
        e.Message.Subject = GetLocalResourceObject("Subject")
        Dim _to = e.Message.To

        Dim message = GetLocalResourceObject("Body_Par_1") & "<br/><br/>"
        message = message & GetLocalResourceObject("Body_Par_2") & " " & PasswordRecovery2.UserName.ToString() & "<br/>"

        ' generating new password as a random string
        Dim KeyGen As RandomKeyGenerator = New RandomKeyGenerator()
        Dim RandomKey = KeyGen.Generate("abcdefghijklmnopqrstuvwxyz", "0123456789", 7)
        'RandomKey = "!!shalom!!"
        Dim dResetPassword As String = Membership.Providers.Item("PrintItMembershipProvider").ResetPassword(PasswordRecovery2.UserName.ToString(), "EpowerSDC")
        Dim dNewPassword As String = Membership.Providers.Item("PrintItMembershipProvider").ChangePassword(PasswordRecovery2.UserName.ToString(), dResetPassword, RandomKey)
        message = message & GetLocalResourceObject("Body_Par_3") & " " & RandomKey & "<br/><br/>"
        message = message & GetLocalResourceObject("Body_Par_4")
        e.Message.Body = message
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        PasswordRecovery2.SuccessText = GetLocalResourceObject("PasswordRecovery_SuccessText")
    End Sub
End Class
