210 lines
10 KiB
VB.net
210 lines
10 KiB
VB.net
Imports System
|
|
Imports System.ComponentModel
|
|
Imports System.Collections.Generic
|
|
Imports System.Diagnostics
|
|
Imports System.Text
|
|
|
|
Imports DevExpress.ExpressApp
|
|
Imports DevExpress.ExpressApp.Actions
|
|
Imports DevExpress.Persistent.Base
|
|
Imports DevExpress.Data.Filtering
|
|
Imports DevExpress.XtraReports.UI
|
|
Imports DevExpress.XtraReports.Parameters
|
|
Imports DevExpress.ExpressApp.Reports
|
|
Imports DevExpress.Persistent.BaseImpl
|
|
Imports System.IO
|
|
Imports DevExpress.ExpressApp.Editors
|
|
Imports Gnostice.PDFOne
|
|
Imports DevExpress.ExpressApp.Utils
|
|
|
|
Public Class OffersOutPrintVC
|
|
Inherits SISBusiness.Module.OffersOutPrintVC
|
|
Private _ReportServiceController As ReportServiceController
|
|
Private _RichEditControl As RichEditControl
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
Frame.GetController(Of OffersOutPrintVC).aOfferOutSendMailDeatil.Active.SetItemValue("", False)
|
|
If View.Id = "OfferOutHeader_DetailView" Then
|
|
Frame.GetController(Of OffersOutPrintVC).aOfferOutSendMailDeatil.Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "CRM_Opportunities_OfferOutHeader_ListView" Then
|
|
Frame.GetController(Of OffersOutPrintVC).aOfferOutSendMailDeatil.Active.SetItemValue("", True)
|
|
End If
|
|
End Sub
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
If View.Id = "OfferOutHeader_DetailView" Then
|
|
Frame.GetController(Of OffersOutPrintVC).aOfferOutSendMailDeatil.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id = "CRM_Opportunities_OfferOutHeader_ListView" Then
|
|
Frame.GetController(Of OffersOutPrintVC).aOfferOutSendMailDeatil.Active.SetItemValue("", True)
|
|
End If
|
|
End Sub
|
|
Protected Overrides Sub OnViewControlsCreated()
|
|
MyBase.OnViewControlsCreated()
|
|
If View.Id = "OfferOutHeader_DetailView" Then
|
|
Dim _DetailView As DetailView = TryCast(View, DetailView)
|
|
Dim _RichEditContolViewItem As ViewItem = _DetailView.FindItem("DocumentBody")
|
|
If _RichEditContolViewItem IsNot Nothing Then
|
|
AddHandler _RichEditContolViewItem.ControlCreated, AddressOf RichEditContolViewItem_ControlCreated
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub RichEditContolViewItem_ControlCreated(sender As Object, e As EventArgs)
|
|
Dim _ItemControl As Object = TryCast(sender, ViewItem).Control
|
|
Dim _RichEditUserControl As RichEditUserControl = TryCast(_ItemControl, RichEditUserControl)
|
|
_RichEditControl = TryCast(_ItemControl, RichEditUserControl).RichEditControl
|
|
End Sub
|
|
|
|
Private Sub aOfferOutSendMailDeatil_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aOfferOutSendMailDeatil.Execute
|
|
Try
|
|
Dim _ObjectSpace As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
If View.SelectedObjects.Count = 0 Then Throw New Exception("*Nincs kiválasztva egyetlen ajánlat sem!")
|
|
Dim _OfferOutHeader As OfferOutHeader = TryCast(View.SelectedObjects(0), OfferOutHeader)
|
|
If _OfferOutHeader.IsEditable = False Then
|
|
Dim _ReportData As ReportData
|
|
|
|
If Frame.GetController(Of OffersOutPrintVC).aOfferOutPrintChoice.SelectedItem Is Nothing Then
|
|
Throw New Exception("*Nincs nyomtatvány típus kiválasztva!")
|
|
End If
|
|
Select Case Frame.GetController(Of OffersOutPrintVC).aOfferOutPrintChoice.SelectedItem.Data
|
|
Case "0" : _ReportData = _OfferOutHeader.OfferOutParameters.ReportData
|
|
Case "1" : _ReportData = _OfferOutHeader.OfferOutParameters.ReportData1
|
|
Case Else : Throw New Exception("*Nincs nyomtatvány típus kiválasztva!")
|
|
Exit Sub
|
|
End Select
|
|
|
|
If _ReportData IsNot Nothing Then
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _FileName As String = Path.GetTempPath & CorrectFileName(_OfferOutHeader.DocumentNumber & ".pdf")
|
|
Dim _XafReport As XafReport = _ReportData.LoadReport(_ocur)
|
|
Dim _FF As String = "[OfferOutHeader.Oid]='" & _OfferOutHeader.Oid.ToString & "'"
|
|
_XafReport.FilterString = _FF
|
|
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
|
|
_XafReport.ExportToPdf(_StreamFile)
|
|
|
|
_StreamFile.Close()
|
|
|
|
Dim _OutlookEMail As OutlookEMail = _ocur.CreateObject(Of OutlookEMail)()
|
|
Dim _OutlookEMailAttachments As OutlookEMailAttachments = _ocur.CreateObject(Of OutlookEMailAttachments)()
|
|
Dim _DocumentFileData As DocumentFileData = _ocur.CreateObject(Of DocumentFileData)()
|
|
|
|
_StreamFile = New FileStream(_FileName, FileMode.Open)
|
|
If _OfferOutHeader.CRM_Opportunities IsNot Nothing Then
|
|
_OutlookEMail.CRM_Leads = _OfferOutHeader.CRM_Opportunities.CRM_Leads
|
|
_OutlookEMail.CRM_Opportunities = _OfferOutHeader.CRM_Opportunities
|
|
End If
|
|
_OutlookEMail.Recipients = _OfferOutHeader.Contact.Email
|
|
If _OutlookEMail.Recipients = "" Then
|
|
_OutlookEMail.Recipients = "A kapcsolattartónak nincs e-mail címe."
|
|
End If
|
|
_OutlookEMail.Subject = "Árajánlat"
|
|
Dim _s As String = _OfferOutHeader.DocumentNumber & ".pdf"
|
|
|
|
_DocumentFileData.File = New FileData(_ocur.Session)
|
|
_DocumentFileData.File.LoadFromStream(_s, _StreamFile) '_FileData
|
|
_DocumentFileData.File.FileName = CorrectFileName(_OfferOutHeader.DocumentNumber & ".pdf")
|
|
_OutlookEMailAttachments.DocumentFileData = _DocumentFileData
|
|
_OutlookEMail.OutlookEMailAttachments.Add(_OutlookEMailAttachments)
|
|
|
|
_StreamFile.Close()
|
|
|
|
If System.IO.File.Exists(_FileName) Then
|
|
System.IO.File.Delete(_FileName)
|
|
End If
|
|
|
|
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_ocur, "OutlookEMail_DetailView", False, _OutlookEMail)
|
|
View.Refresh()
|
|
Else
|
|
'____________________________ TESZT MIATT ________________________________________
|
|
Throw New UserFriendlyException("Üres a ReportData1 property!")
|
|
End If
|
|
Else
|
|
'____________________________ TESZT MIATT ________________________________________
|
|
Throw New UserFriendlyException("Csak végleges kimenő árajánlatot lehet e-mailben pdf-ként elküldeni.")
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub aOffersOutPrintPDF2_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aOffersOutPrintPDF2.Execute
|
|
Try
|
|
If Frame.GetController(Of OffersOutPrintVC).aOfferOutPrintChoice.SelectedItem Is Nothing Then Throw New Exception("*Nincs nyomtatvány típus kiválasztva!")
|
|
If _RichEditControl Is Nothing Then Throw New Exception("*A PDF elkészítéséhez aktiválni kell a ""Dokumentum"" fület a részletes nézetben!")
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _OfferOutHeader As OfferOutHeader = TryCast(View.SelectedObjects(0), OfferOutHeader)
|
|
If _OfferOutHeader.IsEditable = True Then
|
|
_OfferOutHeader.RecalculateOfferOut(_OfferOutHeader, _ocur)
|
|
_ocur.CommitChanges()
|
|
End If
|
|
Dim _FileName As String = CorrectFileName(_OfferOutHeader.DocumentNumber) & ".pdf"
|
|
|
|
Dim _FileName_Report As String = Path.GetTempPath & "Report.pdf"
|
|
Dim _FileName_RTF As String = Path.GetTempPath & "RTF.pdf"
|
|
Dim _FileName_Full As String = Path.GetTempPath & _FileName
|
|
|
|
Dim _ReportData As ReportData
|
|
Dim _StreamFile As FileStream
|
|
Dim DOCReport As New PDFDocument("2962-F2F8-23B1-5FD8-F4A3-55DB-7D94-28E9")
|
|
Dim DOCRTF As New PDFDocument("2962-F2F8-23B1-5FD8-F4A3-55DB-7D94-28E9")
|
|
Dim mergeDOC As New PDFDocument("2962-F2F8-23B1-5FD8-F4A3-55DB-7D94-28E9")
|
|
|
|
Select Case Frame.GetController(Of OffersOutPrintVC).aOfferOutPrintChoice.SelectedItem.Data
|
|
Case "0" : _ReportData = _OfferOutHeader.OfferOutParameters.ReportData
|
|
Case "1" : _ReportData = _OfferOutHeader.OfferOutParameters.ReportData1
|
|
Case Else : Throw New Exception("*Nincs nyomtatvány típus kiválasztva!")
|
|
Exit Sub
|
|
End Select
|
|
|
|
If _ReportData IsNot Nothing Then
|
|
Dim _XafReport As XafReport = _ReportData.LoadReport(_ocur)
|
|
Dim _FF As String = "[OfferOutHeader.Oid]='" & _OfferOutHeader.Oid.ToString & "'"
|
|
_StreamFile = New FileStream(_FileName_Report, FileMode.Create)
|
|
_XafReport.FilterString = _FF
|
|
_XafReport.ExportToPdf(_StreamFile)
|
|
_StreamFile.Close()
|
|
DOCReport.Load(_FileName_Report)
|
|
End If
|
|
|
|
If _RichEditControl IsNot Nothing Then
|
|
_StreamFile = New FileStream(_FileName_RTF, FileMode.Create)
|
|
_RichEditControl.ExportToPdf(_StreamFile)
|
|
_StreamFile.Close()
|
|
DOCRTF.Load(_FileName_RTF)
|
|
End If
|
|
|
|
'// Két PDF összefűzése
|
|
mergeDOC.Merge(DOCRTF)
|
|
mergeDOC.Merge(DOCReport)
|
|
|
|
mergeDOC.Save(_FileName_Full)
|
|
mergeDOC.Close()
|
|
|
|
_StreamFile = New FileStream(_FileName_Full, FileMode.Open)
|
|
Dim _FileData As New FileData(_ocur.Session)
|
|
_FileData.LoadFromStream(_FileName_Full, _StreamFile)
|
|
_OfferOutHeader.PDF_Original = _FileData
|
|
_StreamFile.Close()
|
|
_ocur.CommitChanges()
|
|
|
|
Process.Start(_FileName_Full)
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\SISBusinessExceptions", "MsgBoxCheckItAgain")))
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
End Class
|