Public Class frmMessage
    Inherits CAMSBasePage

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object
    Protected WithEvents lblMessage As System.Web.UI.WebControls.Label
    Protected WithEvents lnkBack As System.Web.UI.HtmlControls.HtmlAnchor
    Protected WithEvents lnkReturn As System.Web.UI.HtmlControls.HtmlAnchor
    Protected WithEvents mnuCams As Menu

    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

        lnkReturn.Visible = False
        lnkBack.Visible = False

        If Not Request.QueryString("redirect") Is Nothing Then

            If Request.QueryString("redirect").IndexOf("frmCase.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_NEW_ID
                mnuCams.CurrentItem = Constants.MENU_NEW_CASE_ID
                If Not Request.QueryString("action") Is Nothing And Not Request.QueryString("caseid") Is Nothing Then
                    lnkReturn.HRef = lnkReturn.HRef & "New/frmCase.aspx?action=" & Request.QueryString("action") & "&caseid=" & Request.QueryString("caseid")
                Else
                    lnkReturn.HRef = lnkReturn.HRef & Me.ApplicationPath & "frmHome.aspx"
                End If
                SetMessageCase()
            ElseIf Request.QueryString("redirect").IndexOf("frmClients.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_NEW_ID
                mnuCams.CurrentItem = Constants.MENU_NEW_CLIENT_ID
                If Me.ApplicationPath.EndsWith("/") Then
                    lnkReturn.HRef = Me.ApplicationPath
                Else
                    lnkReturn.HRef = Me.ApplicationPath & "/"
                End If
                If Not Request.QueryString("action") Is Nothing And Not Request.QueryString("clientid") Is Nothing Then
                    lnkReturn.HRef = lnkReturn.HRef & "New/frmClients.aspx?action=" & Request.QueryString("action") & "&clientid=" & Request.QueryString("clientid")
                Else
                    lnkReturn.HRef = lnkReturn.HRef & "frmHome.aspx"
                End If
                SetMessageClient()

            ElseIf Request.QueryString("redirect").IndexOf("frmContractors.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_MAINTENANCE_ID
                mnuCams.CurrentItem = Constants.MENU_MAINTENANCE_CONTRACTOR_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmGrantOffices.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_MAINTENANCE_ID
                mnuCams.CurrentItem = Constants.MENU_MAINTENANCE_GRANTOFFICE_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmGrantTypes.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_MAINTENANCE_ID
                mnuCams.CurrentItem = Constants.MENU_MAINTENANCE_GRANTTYPE_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmProfessionals.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_MAINTENANCE_ID
                mnuCams.CurrentItem = Constants.MENU_MAINTENANCE_PROFESSIONAL_ID
                SetMessageAnyPageAccessDenied()

            ElseIf Request.QueryString("redirect").IndexOf("frmContractorStage.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_REPORTS_ID
                mnuCams.CurrentItem = Constants.MENU_REPORTS_CONTRACTOR_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmContractorWorkload.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_REPORTS_ID
                mnuCams.CurrentItem = Constants.MENU_REPORTS_CONTRACTOR_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmGTByAreas.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_REPORTS_ID
                mnuCams.CurrentItem = Constants.MENU_REPORTS_GRANTTYPEINDAREAS_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmQSummary.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_REPORTS_ID
                mnuCams.CurrentItem = Constants.MENU_REPORTS_QSUMM_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmTargetsMet.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_REPORTS_ID
                mnuCams.CurrentItem = Constants.MENU_REPORTS_TARGETSMET_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmWorkByAreas.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_REPORTS_ID
                mnuCams.CurrentItem = Constants.MENU_REPORTS_WORKINDAREAS_ID
                SetMessageAnyPageAccessDenied()

            ElseIf Request.QueryString("redirect").IndexOf("frmAllCases.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SEARCH_ID
                mnuCams.CurrentItem = Constants.MENU_SEARCH_ALLCASES_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmByCaseId.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SEARCH_ID
                mnuCams.CurrentItem = Constants.MENU_SEARCH_CASEBYID_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmMyCases.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SEARCH_ID
                mnuCams.CurrentItem = Constants.MENU_SEARCH_MYCASES_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmSClient.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SEARCH_ID
                mnuCams.CurrentItem = Constants.MENU_SEARCH_CLIENT_ID
                SetMessageAnyPageAccessDenied()

            ElseIf Request.QueryString("redirect").IndexOf("frmExportCases.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SPREADSHEET_ID
                mnuCams.CurrentItem = Constants.MENU_SPREADSHEET_EXPORT_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmImport.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SPREADSHEET_ID
                mnuCams.CurrentItem = Constants.MENU_SPREADSHEET_IMPORT_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmWorkOffline.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SPREADSHEET_ID
                mnuCams.CurrentItem = Constants.MENU_SPREADSHEET_WOFFLINE_ID
                SetMessageAnyPageAccessDenied()

            ElseIf Request.QueryString("redirect").IndexOf("frmReminders.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SETTINGS_ID
                mnuCams.CurrentItem = Constants.MENU_SETTINGS_THRESHOLD_ID
                SetMessageAnyPageAccessDenied()
            ElseIf Request.QueryString("redirect").IndexOf("frmUsers.aspx") <> -1 Then
                mnuCams.CurrentGroup = Constants.MENU_SETTINGS_ID
                mnuCams.CurrentItem = Constants.MENU_SETTINGS_USERS_ID
                lnkReturn.HRef = lnkReturn.HRef & "Settings/frmUsers.aspx"
                SetMessageUser()
            End If

        End If

    End Sub

    Private Sub SetMessageClient()

        If Not Request.QueryString("errid") Is Nothing Then
            Dim strMsgID As String = Request.QueryString("errid")

            Select Case strMsgID
                Case Constants.CONST_MSG_INSERT_SUCCES
                    lblMessage.Text = "Client has been created successfully"
                    lnkReturn.Visible = True
                Case Constants.CONST_MSG_INSERT_CLIENT_IDEXISTS
                    lblMessage.Text = "There is a client using the same Applicant NI number"
                    lnkBack.Visible = True
                Case Constants.CONST_MSG_INSERT_CLIENT_INFOEXISTS
                    lblMessage.Text = "There is a client with similar address and surname. Verify these fields"
                    lnkBack.Visible = True
                Case Constants.CONST_MSG_UPDATE_SUCCES
                    lblMessage.Text = "Client has been updated successfully"
                    lnkReturn.Visible = True
                Case Constants.CONST_MSG_UPDATE_NEWEXISTS
                    lblMessage.Text = "Applicant NI number already exists in database. Verify and change this field if you want to  continue"
                    lnkBack.Visible = True
                Case Constants.CONST_MSG_UPDATE_OLDNOEXISTS
                    lblMessage.Text = "Client ID does not exist in database. Make sure you have selected a client properly"
                    lnkBack.Visible = True
                Case Constants.CONST_MSG_DELETE_SUCCES
                    lblMessage.Text = "Client has been deleted successfully"
                    lnkReturn.Visible = True
                Case Constants.CONST_MSG_DELETE_NOEXISTS
                    lblMessage.Text = "Client ID does not exist in database. Make sure you have selected a client properly"
                    lnkBack.Visible = True
                Case Constants.CONST_ERROR_UNEXPECTED
                    lblMessage.Text = "Unexpected error has occurred during the origin page process"
                    lnkBack.Visible = True
                Case Constants.CONST_ERROR_ACCESSDENIED_TOPAGE
                    lblMessage.Text = "Access Denied"
                    lnkBack.Visible = True
            End Select


        End If
    End Sub

    Private Sub SetMessageCase()

        If Not Request.QueryString("errid") Is Nothing Then
            Dim strMsgID As String = Request.QueryString("errid")

            Select Case strMsgID
                Case Constants.CONST_MSG_INSERT_SUCCES
                    lblMessage.Text = "The case has been created successfully"
                    lnkReturn.Visible = True
                Case Constants.CONST_MSG_INSERT_NOSUCCES
                    lblMessage.Text = "The case could not be created"
                    lnkBack.Visible = True
                Case Constants.CONST_MSG_UPDATE_SUCCES
                    lblMessage.Text = "The case has been updated successfully"
                    lnkReturn.Visible = True
                Case Constants.CONST_MSG_UPDATE_NOSUCCES
                    lblMessage.Text = "The case could not be updated"
                    lnkBack.Visible = True
                Case Constants.CONST_MSG_DELETE_SUCCES
                    lblMessage.Text = "The case has been deleted successfully"
                    lnkReturn.Visible = True
                Case Constants.CONST_MSG_DELETE_NOSUCCES
                    lblMessage.Text = "The case could not be deleted"
                    lnkBack.Visible = True
                Case Constants.CONST_ERROR_UNEXPECTED
                    lblMessage.Text = "Unexpected error has occurred during the origin page process"
                    lnkBack.Visible = True
                Case Constants.CONST_ERROR_ACCESSDENIED_TOPAGE
                    lblMessage.Text = "Access Denied"
                    lnkBack.Visible = True
            End Select


        End If
    End Sub

    Private Sub SetMessageUser()

        If Not Request.QueryString("errid") Is Nothing Then
            Dim strMsgID As String = Request.QueryString("errid")

            Select Case strMsgID
                Case Constants.CONST_ERROR_USER_IN_CASE_TA
                    lblMessage.Text = "The Technical Advisor is related to a case and his/her access group cannot be modified."
                    lnkReturn.Visible = True
                Case Constants.CONST_ERROR_USER_IN_CASE_HA
                    lblMessage.Text = "The Housing Advisor is related to a case and his/her access group cannot be modified."
                    lnkReturn.Visible = True
                Case Constants.CONST_ERROR_USER_IN_GRANTOFFICE
                    lblMessage.Text = "The user is related to a grant office and he can be updated modifying it."
                    lnkReturn.Visible = True
                Case Constants.CONST_ERROR_USER_NOTDELETED
                    lblMessage.Text = "The user could not be deleted."
                    lnkReturn.Visible = True
                Case Constants.CONST_ERROR_ACCESSDENIED_TOPAGE
                    lblMessage.Text = "Access Denied"
                    lnkBack.Visible = True

            End Select


        End If
    End Sub

    Private Sub SetMessageAnyPageAccessDenied()
        Dim strMsgID As String = Request.QueryString("errid")

        Select Case strMsgID
            Case Constants.CONST_ERROR_ACCESSDENIED_TOPAGE
                lblMessage.Text = "Access Denied"
                lnkBack.Visible = True
            Case Else
                lblMessage.Text = "Error Unexpected"
                lnkBack.Visible = True
        End Select
    End Sub

End Class
