
Partial Class login
    Inherits System.Web.UI.Page

    Public _selectedLanguage As String = ""
    Public partnerWS As PartnetWS.Service = New PartnetWS.Service

    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

        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

    Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
        'Login1.DestinationPageUrl = "~/home.aspx"
    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

    Protected Sub Login1_LoggedIn(ByVal sender As Object, ByVal e As System.EventArgs) Handles Login1.LoggedIn
        Login1.DestinationPageUrl = "~/home.aspx"
        If Request.QueryString.Count > 0 Then
            If Request.QueryString("ref") Is Nothing Then
            Else
                If Request.QueryString("ref") = "submission_settings" Then Login1.DestinationPageUrl = "~/settings/" & Request.QueryString("ref") & ".aspx"
                If Request.QueryString("ref") = "payment_options" Then Login1.DestinationPageUrl = "~/profile/" & Request.QueryString("ref") & ".aspx"

                If Request.QueryString("ref") = "management" Then
                    Dim partnerObj As PartnetWS.UserInfo = New PartnetWS.UserInfo
                    partnerObj = partnerWS.getUserInfo(Login1.UserName, Login1.Password)
                    If partnerObj.exists = "Y" And partnerObj.is_authenticated = "Y" Then

                        ' Service is allowed for Argentina and Uruguay only
                        'If partnerObj.is_manager_of_country = "Argentina" Or partnerObj.is_manager_of_country = "Uruguay" Then
                        Session("PartnerRole") = partnerObj.highest_role
                        Session("PartnerId") = partnerObj.user_id
                        Login1.DestinationPageUrl = "~/admin_partner/manage_users.aspx"
                        'End If

                    End If
            End If

            End If
        Else
        End If
    End Sub
End Class
