Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.Security
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared


Partial Class Buyer_reporttest
    Inherits System.Web.UI.Page
    Dim strBNo As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        strBNo = Request.QueryString("No")
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Try
        '    'Dim myReport As ReportDocument
        '    'myReport = New CrystalReport()
        '    'myReport.RecordSelectionFormula = "{BillDetails.UserId}=" & Session("Buy") & "and {BillDetails.BillNo}=" & strBNo.Trim & ""

        '    'CrystalDecisions.CrystalReports.Engine.ReportDocument myReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument)

        '    Dim myreport As New CrystalDecisions.CrystalReports.Engine.ReportDocument

        '    myreport.Load(Server.MapPath("../Buyer/BillBuyer.rpt"))
        '    '*****************************************************************************
        '    'Dim myReport1 As ReportDocument
        '    'myReport1 = New BillBuyer
        '    'myReport.RecordSelectionFormula = "{BillDetails.UserId}=" & Session("DBUserID") & "and {BillDetails.BillNo}=" & strBNo.Trim & ""
        '    '*************************************************************
        '    Dim objConInfo As New ConnectionInfo()
        '    Dim objTabLogOnInfo As New TableLogOnInfo()
        '    Dim objDatabase As Database
        '    Dim objTables As Tables
        '    Dim objTable As Table
        '    objConInfo.ServerName = ConfigurationManager.AppSettings("myServer")
        '    objConInfo.UserID = ConfigurationManager.AppSettings("myUser")
        '    objConInfo.Password = ConfigurationManager.AppSettings("myPassword")
        '    objDatabase = myReport.Database
        '    objTables = objDatabase.Tables
        '    For Each objTable In objTables
        '        objTabLogOnInfo = objTable.LogOnInfo
        '        objTabLogOnInfo.ConnectionInfo = objConInfo
        '        objTable.ApplyLogOnInfo(objTabLogOnInfo)
        '    Next
        '    'CrystalReportViewer1.ReportSource = myreport
        '    Dim crParameterFielddefinitions As ParameterFieldDefinitions
        '    Dim crParameterFielddefinition As ParameterFieldDefinition
        '    Dim crParameterValues As ParameterValues
        '    Dim crParameterDiscreteValue As ParameterDiscreteValue
        '    Dim exportOpts As New ExportOptions()
        '    Dim diskOpts As New DiskFileDestinationOptions()
        '    Dim FileName As String = "C:\Reports\" & Session.SessionID.ToString & ".pdf"
        '    'Dim FileName As String = "D:\web sites\ActomartIn\Reports\" & Session.SessionID.ToString & ".pdf"
        '    exportOpts = myReport.ExportOptions
        '    exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat
        '    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
        '    diskOpts.DiskFileName = FileName
        '    exportOpts.DestinationOptions = diskOpts
        '    myReport.Export()
        '    Response.Buffer = True
        '    Response.Clear()
        '    Response.ClearContent()
        '    Response.ClearHeaders()
        '    Response.ContentType = "application/pdf"
        '    Response.WriteFile(FileName)
        '    Response.Flush()
        '    System.IO.File.Delete(FileName)
        '    Response.End()
        'Catch ex As Exception
        '    ex.Message.ToString()
        'End Try
        LoadCrystalReport()
    End Sub

    Private Sub LoadCrystalReport()
        Try
            Dim myreport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
            myreport.Load(Server.MapPath("../Buyer/BillBuyer.rpt"))
            ' myreport.RecordSelectionFormula = "{BillDetails.BillDetails_BuyerID}='" & Session("BuyId") & "' and {BillDetails.BillDetails_BillNo}= '" & strBNo.Trim & "' "
            Dim objConInfo As New ConnectionInfo()
            Dim objTabLogOnInfo As New TableLogOnInfo()
            Dim objDatabase As Database
            Dim objTables As Tables
            Dim objTable As Table
            objConInfo.ServerName = ConfigurationManager.AppSettings("myServer")
            objConInfo.UserID = ConfigurationManager.AppSettings("myUser")
            objConInfo.Password = ConfigurationManager.AppSettings("myPassword")
            objDatabase = myReport.Database
            objTables = objDatabase.Tables
            For Each objTable In objTables
                objTabLogOnInfo = objTable.LogOnInfo
                objTabLogOnInfo.ConnectionInfo = objConInfo
                objTable.ApplyLogOnInfo(objTabLogOnInfo)
            Next
            Dim crParameterFielddefinitions As ParameterFieldDefinitions
            Dim crParameterFielddefinition As ParameterFieldDefinition
            Dim crParameterValues As ParameterValues
            Dim crParameterDiscreteValue As ParameterDiscreteValue

          
            crParameterFielddefinitions = myreport.DataDefinition.ParameterFields
            crParameterFielddefinition = crParameterFielddefinitions.Item("BillDetails_BuyerID")
            crParameterValues = crParameterFielddefinition.CurrentValues
            crParameterDiscreteValue = New ParameterDiscreteValue()
            crParameterDiscreteValue.Value = Session("BuyId")
            'crParameterDiscreteValue.Value = Session("BuyId")
            crParameterValues.Add(crParameterDiscreteValue)
            crParameterFielddefinition.ApplyCurrentValues(crParameterValues)
            ''filter on billno

            crParameterFielddefinitions = myreport.DataDefinition.ParameterFields
            crParameterFielddefinition = crParameterFielddefinitions.Item("BillingHeader_BillNo")
            crParameterValues = crParameterFielddefinition.CurrentValues
            crParameterDiscreteValue = New ParameterDiscreteValue()
            crParameterDiscreteValue.Value = strBNo.Trim
            crParameterValues.Add(crParameterDiscreteValue)
            crParameterFielddefinition.ApplyCurrentValues(crParameterValues)
            '********************************************************************************
            Dim exportOpts As New ExportOptions()
            Dim diskOpts As New DiskFileDestinationOptions()
            Dim FileName As String = "C:\Reports\" & Session.SessionID.ToString & ".pdf"
            exportOpts = myreport.ExportOptions
            exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat
            exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
            diskOpts.DiskFileName = FileName
            exportOpts.DestinationOptions = diskOpts
            myReport.Export()
            Response.Buffer = True
            Response.Clear()
            Response.ClearContent()
            Response.ClearHeaders()
            Response.ContentType = "application/pdf"
            Response.WriteFile(FileName)
            Response.Flush()
            Response.End()
        Catch ex As Exception
            ex.Message.ToString()
        End Try
    End Sub

End Class
