Imports CAMS_ADMIN
Imports System.Xml

Public Class frmLogin
    Inherits System.Web.UI.Page


#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents lblUser As System.Web.UI.WebControls.Label
    Protected WithEvents lblPassword As System.Web.UI.WebControls.Label
    Protected WithEvents txtUser As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtPassword As System.Web.UI.WebControls.TextBox
    Protected WithEvents btnLogon As System.Web.UI.WebControls.ImageButton
    Protected WithEvents rfvLogin As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents lblMsgUser As System.Web.UI.WebControls.Label
    Protected WithEvents lblMsgPassword As System.Web.UI.WebControls.Label
    Protected WithEvents rfvPassword As System.Web.UI.WebControls.RequiredFieldValidator

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object

    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

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
    End Sub

    Private Sub btnLogon_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnLogon.Click
        Me.lblMsgPassword.Text = String.Empty
        Me.lblMsgUser.Text = String.Empty
        'KillSession()
        ValidateUserLogin()
    End Sub
    Public Sub ValidateUserLogin()
        Dim oCC_User As New CC_User
        Dim oEC_User As EC_User
        Dim dsUser As DataSet
        Dim CurrentURL As String = originator()

        Dim pos1 As Integer = InStr(CurrentURL.Trim.ToLower, "cams")
        Dim pos2 As Integer = InStr(ConfigurationSettings.AppSettings("URLIntranet").Trim.ToLower, "cams")

        'Response.Write(Left(CurrentURL.Trim.ToLower, pos1 + 3))
        'Response.Write(Left(ConfigurationSettings.AppSettings("URLIntranet").Trim.ToLower, pos2 + 3))

        Try
            dsUser = oCC_User.GetUserByLogin(Me.txtUser.Text)
            If Not dsUser Is Nothing Then

                If dsUser.Tables(0).Rows.Count > 0 Then
                    If Util.Encrypt(Me.txtPassword.Text) = dsUser.Tables(0).Rows(0)("Password") Then
                        'If CurrentURL.Trim.ToLower <> ConfigurationSettings.AppSettings("URLIntranet").Trim.ToLower Then     'If page is not being requested Fold Intranet
                        If Left(CurrentURL.Trim.ToLower, pos1 + 3) <> Left(ConfigurationSettings.AppSettings("URLIntranet").Trim.ToLower, pos2 + 3) Then 'If page is not being requested Fold Intranet
                            If (dsUser.Tables(0).Rows(0)("CONNECTOUTSIDE") = "N") Then
                                Me.lblMsgUser.Text = "User not allowed to login outside Fold."
                                Exit Sub
                            Else
                                'Added By raul Callupe - 03/28/2006
                                oEC_User = oCC_User.GetUserObjectByLogin(Me.txtUser.Text.Trim)
                                CreateSession(oEC_User)
                                'End added
                                Response.Redirect("default.htm", True)
                            End If
                        Else
                            'Added By raul Callupe - 03/28/2006
                            oEC_User = oCC_User.GetUserObjectByLogin(Me.txtUser.Text.Trim)
                            CreateSession(oEC_User)
                            'End added
                            Response.Redirect("default.htm", True)
                        End If
                    Else
                        Me.lblMsgPassword.Text = "Invalid password, please try again."
                    End If
                Else
                    Me.lblMsgUser.Text = "Invalid User."
                End If
            End If
        Catch ex As Exception
        End Try
    End Sub

    Public Function originator() As String
        Dim url As String
        If Not Request.UrlReferrer Is Nothing Then
            url = Request.UrlReferrer.ToString()
        Else
            url = "unknown"
        End If
        Return url
    End Function

    'Added by Raul Callupe - 03/28/2006
    Private Sub CreateSession(ByVal prmUser As EC_User)
        Dim serializer As New Serialization.XmlSerializer(prmUser.GetType())
        Dim sw As New IO.StringWriter

        serializer.Serialize(sw, prmUser)
        Session.Add(Constants.CONST_TYPE_SESSION_NAME, sw.ToString())
        Try
            Session.Timeout = Convert.ToInt32(ConfigurationSettings.AppSettings("TimeOut"))
        Catch ex As Exception
            Session.Timeout = 100
        End Try

    End Sub
    'End Added

End Class
