﻿
Partial Class order_centre_customer_password_recovery
    Inherits System.Web.UI.Page

    Public ReadOnly Property MembershipProviderInstance() As MembershipProvider
        Get
            Return Membership.Provider
        End Get
    End Property

    Public ReadOnly Property RoleProviderInstance() As RoleProvider
        Get
            Return Roles.Provider
        End Get
    End Property

    'Protected Sub PasswordRecovery2_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles PasswordRecovery2.SendingMail
    '    Try

    '        'Dim username As String = Me.PasswordRecovery2.UserName.ToString
    '        Dim username As String = Membership.GetUserNameByEmail(PasswordRecovery2.UserName.ToString)
    '        If Roles.IsUserInRole(username, "PrintItWebCustomer") = True Then

    '            e.Message.IsBodyHtml = True
    '            e.Message.Subject = GetLocalResourceObject("Subject")
    '            Dim _to = e.Message.To

    '            Dim message As String = 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 As String = 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/>"

    '            e.Message.Body = message
    '        Else
    '            PasswordRecovery2.SuccessText = GetLocalResourceObject("PasswordRecovery_FailedText")

    '        End If
    '    Catch ex As Exception
    '        Me.ErrLabel.Visible = True
    '    End Try
    '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

    'Protected Sub PasswordRecovery2_SendMailError(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SendMailErrorEventArgs) Handles PasswordRecovery2.SendMailError
    '    e.Handled = True
    '    PasswordRecovery2.SuccessText = "<span style='color:#ff0000'>" & GetLocalResourceObject("PasswordRecovery_SendMailErrorText") & "</span>"
    '    '("customer_password_recovery.aspx")
    'End Sub

    Protected Sub SubmitImageButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SubmitImageButton.Click
        Me.ResultLabel.Text = ""
        Me.ResultLabel.Visible = True
        Try
            Dim _userName As String = MembershipProviderInstance.GetUserNameByEmail(Me.EmailTextBox.Text.ToString)
            If Roles.Providers.Item("PrintItRoleProvider").IsUserInRole(_userName, "PrintItWebCustomer") = True Then

                Dim _from As String = "support@goprint2.com"
                Dim _to As String = Me.EmailTextBox.Text.ToString
                '_to = "maria@edeninteractive.com"
                Dim _subject As String = GetLocalResourceObject("Subject")
                Dim _body As String
                Dim _prefix As String = _userName.ToString().Split("_")(0) & "_"
                Dim _prefixLenght As Integer = _prefix.Length
                Dim _userName_without_prefix As String = _userName.ToString().Substring(_prefixLenght)
                _body = GetLocalResourceObject("Body_Par_1") & "<br/><br/>" & _
                        GetLocalResourceObject("Body_Par_2") & " " & _userName_without_prefix & "<br/>"

                ' generating new password as a random string
                Dim KeyGen As RandomKeyGenerator = New RandomKeyGenerator()
                Dim RandomKey As String = KeyGen.Generate("abcdefghijklmnopqrstuvwxyz", "0123456789", 7)
                'RandomKey = "qwerty"

                Dim dResetPassword As String = MembershipProviderInstance.ResetPassword(_userName, "EpowerSDC")
                Dim dNewPassword As String = MembershipProviderInstance.ChangePassword(_userName, dResetPassword, RandomKey)
                _body = _body & GetLocalResourceObject("Body_Par_3") & " " & RandomKey & "<br/><br/>"
                Dim _isHtml As Boolean = True
                Try
                    com.racadtech.Framework.Util.Mail.SMTPClient.sendMail(New String() {_to}, _subject, _body, _isHtml, _from)
                    Me.ResultLabel.Text = GetLocalResourceObject("PasswordRecovery_SuccessText")

                    'Dim script As String = "<SCRIPT LANGUAGE='JavaScript'>document.getElementById('<%= SubmitImageButton.ClientID %>').disabled=true;</SCRIPT>"
                    'Me.Page.RegisterClientScriptBlock("ClientScript", script)
                Catch ex As Exception
                    Me.ResultLabel.Text = GetLocalResourceObject("PasswordRecovery_SendMailErrorText")
                End Try
            Else
                Me.ResultLabel.Text = GetLocalResourceObject("PasswordRecovery_AccessFailed")
            End If
        Catch ex As Exception
            Me.ResultLabel.Text = GetLocalResourceObject("PasswordRecovery_AccessFailed")
            'Me.ResultLabel.Text = ex.Message & ". Please contact GoPrint2 support team."
        End Try
    End Sub

End Class

