
Partial Class order_centre_convert_to_pdf_step2
    Inherits System.Web.UI.Page

    Public isTicketComplete As Boolean = False
    Private pdfConverterWS As New com.racadtech.services.PDFConverter()
    Private ticket As New com.racadtech.services.Ticket()

    Public isAllTicketComplete = False
    Public isThumbnailCreated As Boolean

    Public ReadOnly Property JobFilesDirectory() As String
        Get
            Return ConfigurationManager.AppSettings.Get("JobFilesPath").ToString()
            'JobFilesDirectory = "L:\Sites\beta.goprint2.com\jobFiles"
        End Get
    End Property
    Public ReadOnly Property BaseImageURL() As String
        Get
            If Not Session("BaseImageURL") Is Nothing Then
                Return Session("BaseImageURL")
            Else
                Return "themes/orange/"
            End If
        End Get
    End Property

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

        Try

            Dim _arrTicketsConv As New ArrayList
            _arrTicketsConv = Session("AllTickets")

            Dim _text As String = ""
            Dim i As Integer

            If Not _arrTicketsConv Is DBNull.Value Then

                For i = 0 To _arrTicketsConv.Count - 1

                    ' Reconstruct ticket object from session values.
                    ' We need todo this because web service requires ticket object, and we can not store
                    ' objects in session unless we serialize them.

                    ticket.TicketId = CType(_arrTicketsConv(i), ArrayList)(0)
                    ticket.StoreId = CType(_arrTicketsConv(i), ArrayList)(1)
                    ticket.OriginalDocument = CType(_arrTicketsConv(i), ArrayList)(2)
                    ticket.NewDocument = CType(_arrTicketsConv(i), ArrayList)(3)
                    ticket.NewDocumentThumbnail = CType(_arrTicketsConv(i), ArrayList)(4)
                    ticket.Timeout = CType(_arrTicketsConv(i), ArrayList)(5)
                    ticket.QueuePosition = CType(_arrTicketsConv(i), ArrayList)(6)
                    ticket.IsComplete = CType(_arrTicketsConv(i), ArrayList)(7)

                    ' Check to see if ticket is completed. 
                    ' ( Passing newly created ticket object based on previous session data. )
                    ticket = pdfConverterWS.IsTicketComplete(ticket)

                    ' Storing new ticket object information into session, overwriting the previous data.
                    CType(_arrTicketsConv(i), ArrayList)(0) = ticket.TicketId
                    CType(_arrTicketsConv(i), ArrayList)(1) = ticket.StoreId
                    CType(_arrTicketsConv(i), ArrayList)(2) = ticket.OriginalDocument
                    CType(_arrTicketsConv(i), ArrayList)(3) = ticket.NewDocument
                    CType(_arrTicketsConv(i), ArrayList)(4) = ticket.NewDocumentThumbnail
                    CType(_arrTicketsConv(i), ArrayList)(5) = ticket.Timeout
                    CType(_arrTicketsConv(i), ArrayList)(6) = ticket.QueuePosition
                    CType(_arrTicketsConv(i), ArrayList)(7) = ticket.IsComplete

                    Dim _label As Label = New Label()
                    _label.Font.Name = "Arial"
                    _label.Font.Size = 10
                    Dim _img As Image = New Image()
                    Dim _table As New Table
                    Dim _tr As TableRow = New TableRow

                    If (ticket.IsComplete) Then
                        isAllTicketComplete = True

                        Dim _td As TableCell = New TableCell
                        _td.HorizontalAlign = HorizontalAlign.Left
                        _td.VerticalAlign = VerticalAlign.Top
                        _label.Text = _arrTicketsConv(i)(8) & "&nbsp;&nbsp;&nbsp;"
                        _td.Controls.Add(_label)
                        _tr.Cells.Add(_td)

                        _td = New TableCell
                        _td.HorizontalAlign = HorizontalAlign.Left
                        _td.VerticalAlign = VerticalAlign.Top
                        _img.ImageUrl = "~/images/icon_check.png"
                        _td.Controls.Add(_img)
                        _tr.Cells.Add(_td)

                    Else

                        isAllTicketComplete = False

                        If _arrTicketsConv(i)(6) < 1 Then

                            Dim _td As TableCell = New TableCell
                            _td.HorizontalAlign = HorizontalAlign.Left
                            _td.VerticalAlign = VerticalAlign.Top
                            _label.Text = _arrTicketsConv(i)(8) & "&nbsp;&nbsp;&nbsp;"
                            _td.Controls.Add(_label)
                            _tr.Cells.Add(_td)

                            _td = New TableCell
                            _td.HorizontalAlign = HorizontalAlign.Left
                            _td.VerticalAlign = VerticalAlign.Top
                            _img.ImageUrl = "~/RadControls/Ajax/Skins/Default/loading2.gif"
                            _td.Controls.Add(_img)
                            _tr.Cells.Add(_td)

                        Else
                            Dim _td As TableCell = New TableCell
                            _td.HorizontalAlign = HorizontalAlign.Left
                            _td.VerticalAlign = VerticalAlign.Top
                            _label.Text = _arrTicketsConv(i)(8)
                            _td.Controls.Add(_label)
                            _tr.Cells.Add(_td)

                        End If
                    End If

                    _table.Rows.Add(_tr)
                    PlaceHolder1.Controls.Add(_table)

                Next
                Session("AllTickets") = _arrTicketsConv
            End If
        Catch ex As Exception
            Session.Remove("AllTicket")
        End Try

    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not Session("AllTickets") Is DBNull.Value Then
            Dim _jobId As Integer = Convert.ToInt32(Session("JobId"))
            Dim _storeId As Integer = Convert.ToInt32(Session("StoreId"))

            Dim _directoryPart As String = JobFilesDirectory
            Dim _jobIdPart As String = _jobId.ToString()
            Dim _arrTickets As ArrayList = Session("AllTickets")

            'define queue position for the first file in session array
            Dim _queuePosition As Integer = CType(_arrTickets(0), ArrayList)(6)

            If _queuePosition > 0 Then  'there are files before my file(s)
                _queuePosition = _queuePosition - 1 + CType(_arrTickets, ArrayList).Count
                Me.ticketLbl.Text = Me.GetLocalResourceObject("ticketLblText1") & _queuePosition & Me.GetLocalResourceObject("ticketLblText2")
            Else    'my file(s) are being processed
                Me.ticketLbl.Text = Me.GetLocalResourceObject("ticketLblText3")
            End If


            If (isAllTicketComplete) Then
                Me.METAREFRESH.Text = "<META HTTP-EQUIV='Refresh'  CONTENT='0; URL=convert_to_pdf_step3.aspx?JobId=" & Request.QueryString("JobId") & "'>"
            Else
                Me.METAREFRESH.Text = "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=convert_to_pdf_step2.aspx?JobId=" & Request.QueryString("JobId") & "'>"
            End If
        Else
            Me.METAREFRESH.Text = "<META HTTP-EQUIV='Refresh'  CONTENT='0; URL=thank_you.aspx'>"
        End If
    End Sub

End Class
