
Partial Class order_centre_convert_to_pdf_step1
    Inherits System.Web.UI.Page
    Private pdfConverterWS As New com.racadtech.services.PDFConverter()
    Private ticket As New com.racadtech.services.Ticket()
    Private _webAdapter As New WebWS()
    Public ReadOnly Property WebAdapter() As WebWS
        Get
            Return _webAdapter
        End Get
    End Property
    Public ReadOnly Property JobFilesDirectory() As String
        Get
            Return ConfigurationManager.AppSettings.Get("JobFilesPath").ToString()
        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_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Session("ConvertToPdf") Then
            Response.Redirect("~/order_centre/thank_you.aspx")
        End If

        Dim _storeId As Integer = Convert.ToInt32(Session("StoreId"))
        Dim _jobId As Integer = Convert.ToInt32(Session("JobId"))
        Dim _notPdfFileExists As Boolean = False

        Dim _jobDS As New Data.DataSet
        _jobDS = _webAdapter.GetFilesByJobId(_jobId)
        Dim _jobDR As Data.DataTableReader
        _jobDR = _jobDS.CreateDataReader()

        If _jobDS.Tables(0).Rows.Count > 0 Then
            ' check if at least one not-pdf file exists (to convert it to pdf format)
            While _jobDR.Read()
                If _jobDR.Item("FileName").ToString().Split(".")(1) <> "pdf" Then
                    _notPdfFileExists = True
                End If
            End While
            If _notPdfFileExists = False Then   ' all files are .pdf files, skip converting to pdf format 
                Dim script As String = "<SCRIPT LANGUAGE='JavaScript'>window.onload=top.location.href = 'thank_you.aspx';</SCRIPT>"
                Me.Page.RegisterClientScriptBlock("ClientScript", script)
                'Response.Redirect("~/order_centre/thank_you.aspx")
            End If
        Else
            Dim script As String = "<SCRIPT LANGUAGE='JavaScript'>window.onload=top.location.href = 'job_options.aspx';</SCRIPT>"
            Me.Page.RegisterClientScriptBlock("ClientScript", script)
        End If

        Dim _directoryPart = JobFilesDirectory
        Dim _jobIdPart = _jobId.ToString()
        Dim _arrTicketsConv As New ArrayList()
        Dim _arrNotSupportedFiles As New ArrayList()

        Dim i As Integer = 0

        _jobDR = _jobDS.CreateDataReader()
        While _jobDR.Read()
            Try
                Dim _fileNamePart As String = _jobDR.Item("FileName")
                Dim _file As String = _directoryPart & "\" & _jobIdPart & "\" & _fileNamePart
                Dim _fileBytes As Byte() = System.IO.File.ReadAllBytes(_file)
                Dim _localFileBytes As Byte() = System.IO.File.ReadAllBytes(_file)
                Dim filenameArray As String() = _file.Split(".".ToCharArray())

                If (pdfConverterWS.IsFileSupported(_fileNamePart)) Then
                    Dim _subDomain As String = Request.Url.Host.ToString().Split(".")(0)
                    If _subDomain.Equals("beta") Or _subDomain.Equals("localhost") Or _subDomain.Equals("amram") Then
                        ticket = pdfConverterWS.ConvertPDFFromStream(_storeId, _localFileBytes, filenameArray(filenameArray.Length - 1).ToString(), 120)
                    Else
                        ticket = pdfConverterWS.ConvertPDF(_storeId, _file, 120)
                    End If

                    _arrTicketsConv.Add(New ArrayList())
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.TicketId)               '0
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.StoreId)                '1
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.OriginalDocument)       '2
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.NewDocument)            '3
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.NewDocumentThumbnail)   '4
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.Timeout)                '5
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.QueuePosition)          '6
                    CType(_arrTicketsConv(i), ArrayList).Add(ticket.IsComplete)             '7
                    CType(_arrTicketsConv(i), ArrayList).Add(_fileNamePart)                 '8
                    i = i + 1
                Else
                    'TODO : create array of files with not supported extensions
                    _arrNotSupportedFiles.Add(_fileNamePart)
                End If
            Catch ex As Exception
            End Try
        End While

        ' if _arrTickets consists of at least one item - go to converting
        ' else - go to thank you page
        If _arrTicketsConv.Count > 0 Then
            Session("AllTickets") = _arrTicketsConv
            Session("NotSupportedFiles") = _arrNotSupportedFiles
            Response.Redirect("convert_to_pdf_step2.aspx")
        Else
            Dim script As String = "<SCRIPT LANGUAGE='JavaScript'>window.onload=top.location.href = 'thank_you.aspx';</SCRIPT>"
            Me.Page.RegisterClientScriptBlock("ClientScript", script)
        End If
    End Sub

End Class
