
Partial Class order_centre_convert_to_pdf_step3
    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()
    Private _goPrint2Adapter As New com.racadtech.services.GoPrint2Client()

    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 WebAdapter() As WebWS
        Get
            Return _webAdapter
        End Get
    End Property
    Public ReadOnly Property GoPrint2Adapter() As com.racadtech.services.GoPrint2Client
        Get
            Return _goPrint2Adapter
        End Get
    End Property
    Public ReadOnly Property MasterKey() As String
        Get
            Return "877k31hg333-d03423332wq-312dkazlfs-433398j543"
        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

        Response.Write(Session("ThankYou"))

        If Session("ThankYou") = "true" Then
            Response.Redirect("~/order_centre/job_options.aspx")
        End If

        Dim _storeId As Integer = Convert.ToInt32(Session("StoreId"))
        Dim _jobId As Integer = Session("JobId")
        Dim _directoryPart As String = JobFilesDirectory
        Dim _jobIdPart As String = _jobId.ToString()

        Dim i As Integer = 0

        Dim _arrTicketsConv As New ArrayList
        _arrTicketsConv = Session("AllTickets")

        If Not _arrTicketsConv Is DBNull.Value Then

            For i = 0 To _arrTicketsConv.Count - 1

                ' Restore ticket from Session
                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)

                Dim _originalFile As String = _arrTicketsConv(i)(8)

                ' Copy pdf file to storeData folder with the original file's name
                ' but "pdf" extention

                Dim _path As String = _directoryPart & "\" & _jobIdPart & "\"

                Dim _originalFileNameWithoutExt As String = com.racadtech.Framework.Util.IO.IOFile.GetDocumentName(_originalFile, False)
                Dim _newPdfFileName As String = _originalFileNameWithoutExt & ".pdf"
                Dim _newPdfFileNameWithPath As String = _path & _newPdfFileName
                Dim _newFileSize As String = ""

                Try
                    Dim _source As Byte()
                    _source = pdfConverterWS.GetFileAsBytes(ticket.NewDocument)
                    _newFileSize = _source.Length.ToString()
                    System.IO.File.WriteAllBytes(_newPdfFileNameWithPath, _source)

                    'Dim _subDomain As String = Request.Url.Host.ToString().Split(".")(0)
                    'If _subDomain.Equals("beta") Or _subDomain.Equals("localhost") Then
                    '    'ticket = pdfConverterWS.ConvertPDFFromStream(_storeId, _localFileBytes, filenameArray(filenameArray.Length - 1).ToString(), 120)
                    '    Dim _source As Byte()
                    '    _source = pdfConverterWS.GetFileAsBytes(ticket.NewDocument)
                    '    _newFileSize = _source.Length.ToString()
                    '    System.IO.File.WriteAllBytes(_newPdfFileNameWithPath, _source)

                    'Else
                    '    'ticket = pdfConverterWS.ConvertPDF(_storeId, _file, 120)
                    '    System.IO.File.Copy(ticket.NewDocument, _newPdfFileNameWithPath)
                    'End If

                    ' Update the record in database - change Filename and ServerLocation fields
                    Dim _fileDS As Data.DataSet = _webAdapter.GetFileByJobIdAndFileName(Convert.ToInt32(_jobId), _originalFile)
                    Dim _oldFileName As String = _fileDS.Tables(0).Rows(0).Item("Filename")
                    Dim _newFileName As String = _newPdfFileName
                    Dim _oldServerLocation As String = _fileDS.Tables(0).Rows(0).Item("ServerLocation")
                    Dim _newServerLocation As String = _oldServerLocation.Split("/")(0) & "/" & _oldServerLocation.Split("/")(1) & "/" & _jobIdPart & "/" & _newPdfFileName

                    Try
                        Me.GoPrint2Adapter.UpdateJobFile(_jobId, _oldFileName, _newFileName, _newFileSize, _newServerLocation, _webAdapter.GetActivationIdByStoreId(_storeId), MasterKey)
                    Catch ex As Exception
                    End Try

                    ' Delete the original file
                    'Try
                    '    System.IO.File.Delete(_path & _originalFile)
                    'Catch ex As Exception
                    'End Try

                Catch ex As Exception

                End Try

            Next

        End If

        Dim script As String = "<SCRIPT LANGUAGE='JavaScript'>window.onload=top.location.href = 'thank_you.aspx';</SCRIPT>"
        Me.Page.RegisterClientScriptBlock("ClientScript", script)

    End Sub

End Class
