Imports CAMS_ADMIN
Imports CAMS_BL
Imports CAMS_REPORTS
Imports System.Data
Imports System.Text

Public Class frmPrintTargetsMet

    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
    Protected WithEvents lblPrintDate As System.Web.UI.WebControls.Label
    Protected WithEvents lblUser As System.Web.UI.WebControls.Label
    Protected WithEvents lblQuarter As System.Web.UI.WebControls.Label
    Protected WithEvents lblYears As System.Web.UI.WebControls.Label
    Protected WithEvents dgApp As System.Web.UI.WebControls.DataGrid
    Protected WithEvents dgCOMP As System.Web.UI.WebControls.DataGrid

    '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 strDateFormat As String = "dd/MM/yyyy HH:mm"

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        FillReport()
        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
        Response.AppendHeader("content-disposition", "attachment; filename=TargetsMetNotMet.xls")
        Me.EnableViewState = False
    End Sub

    Private Sub FillReport()
        Dim oUser As EC_User = Me.GetUserFromSession
        Dim strYearIni As String = "", strYearEnd As String = "", strQuarter As String = ""
        Dim strDateIni, strDateEnd As String

        If Not Request.QueryString("yearini") Is Nothing Then
            strYearIni = Request.QueryString("yearini").Trim
        End If

        If Not Request.QueryString("yearend") Is Nothing Then
            strYearEnd = Request.QueryString("yearend").Trim
        End If

        If Not Request.QueryString("quarter") Is Nothing Then
            strQuarter = Request.QueryString("quarter").Trim
        End If

        If Not oUser Is Nothing Then
            lblUser.Text = oUser.Name & " " & oUser.Surname
        End If

        lblPrintDate.Text = Now.ToString(strDateFormat)
        lblYears.Text = strYearIni & " - " & strYearEnd

        Select Case strQuarter
            Case "Q1"
                lblQuarter.Text = "Quarter 1: April " & strYearIni.Substring(2) & " - " & " June " & strYearIni.Substring(2)
                strDateIni = "01/04/" & strYearIni
                strDateEnd = "30/06/" & strYearIni
            Case "Q2"
                lblQuarter.Text = "Quarter 2: July " & strYearIni.Substring(2) & " - " & " September " & strYearIni.Substring(2)
                strDateIni = "01/07/" & strYearIni
                strDateEnd = "30/09/" & strYearIni
            Case "Q3"
                lblQuarter.Text = "Quarter 3: October " & strYearIni.Substring(2) & " - " & " December " & strYearIni.Substring(2)
                strDateIni = "01/10/" & strYearIni
                strDateEnd = "31/12/" & strYearIni
            Case "Q4"
                lblQuarter.Text = "Quarter 4: January " & strYearEnd.Substring(2) & " - " & " March " & strYearEnd.Substring(2)
                strDateIni = "01/01/" & strYearEnd
                strDateEnd = "31/03/" & strYearEnd
            Case "All"
                lblQuarter.Text = "All Quarters: April " & strYearIni.Substring(2) & " - " & " March " & strYearEnd.Substring(2)
                strDateIni = "01/04/" & strYearIni
                strDateEnd = "31/03/" & strYearEnd
        End Select

        FillAppTargets(strDateIni, strDateEnd)
        FillCOMPTargets(strDateIni, strDateEnd)

    End Sub

    Private Sub FillAppTargets(ByVal prmDateIni As String, ByVal prmDateEnd As String)
        Dim oCC_TMet As New CC_TargetsMet
        Dim dsResults As DataSet

        Try
            dsResults = oCC_TMet.GetAppTargets(prmDateIni, prmDateEnd)
        Catch exc As Exception
            dsResults = Nothing
        Finally
            dgApp.DataSource = dsResults
            dgApp.DataBind()
        End Try
    End Sub


    Private Sub FillCOMPTargets(ByVal prmDateIni As String, ByVal prmDateEnd As String)
        Dim oCC_TMet As New CC_TargetsMet
        Dim dsResults As DataSet
        Try
            dsResults = oCC_TMet.GetCOMPTargets(prmDateIni, prmDateEnd)
        Catch exc As Exception
            dsResults = Nothing
        Finally
            Me.dgCOMP.DataSource = dsResults
            dgCOMP.DataBind()
        End Try
    End Sub

    Private Sub dgApp_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgApp.ItemDataBound
        Dim drv As DataRowView = e.Item.DataItem
        If e.Item.ItemType <> ListItemType.Header Then
            If Not drv Is Nothing Then
                e.Item.Cells(4).Text = Format(drv("CasesonTarget"), "#,###.00") & "%"
            End If
        End If
    End Sub


    Private Sub dgCOMP_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgCOMP.ItemDataBound
        Dim drv As DataRowView = e.Item.DataItem
        If e.Item.ItemType <> ListItemType.Header Then
            If Not drv Is Nothing Then
                e.Item.Cells(4).Text = Format(drv("CasesonTarget"), "#,###.00") & "%"
            End If
        End If
    End Sub
End Class
