505 lines
29 KiB
VB.net
505 lines
29 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.XtraGrid.Views.Grid
|
|
Imports DevExpress.XtraGrid.Views.Grid.ViewInfo
|
|
|
|
Imports Microsoft.VisualBasic
|
|
Imports System.Drawing
|
|
Imports System.Collections
|
|
Imports System.Windows.Forms
|
|
Imports System.Data
|
|
Imports DevExpress.ExpressApp.Win.Editors
|
|
Imports DevExpress.Persistent.BaseImpl
|
|
Imports DevExpress.ExpressApp.Win
|
|
Imports Microsoft.Office
|
|
Imports System.Runtime.InteropServices
|
|
Imports DevExpress.ExpressApp.Utils
|
|
|
|
Public Class DragAndDropCRMOutlookCustomers_VC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
|
|
Private _CanEmailDrop As Boolean = True
|
|
Private _Selection As New ArrayList
|
|
Dim _ActSelection As Object
|
|
Private _DoDragGridControl As DevExpress.XtraGrid.GridControl
|
|
Private _DoDragGridView As DevExpress.XtraGrid.Views.Grid.GridView
|
|
Private _DoDragGridControlOutlookEMailAttachments As DevExpress.XtraGrid.GridControl
|
|
Private _DoDragGridViewOutlookEMailAttachments As DevExpress.XtraGrid.Views.Grid.GridView
|
|
|
|
Private _ToDragGridControl As DevExpress.XtraGrid.GridControl
|
|
Private _ToDragGridView As DevExpress.XtraGrid.Views.Grid.GridView
|
|
Private _ToDragGridControlCustomers As DevExpress.XtraGrid.GridControl
|
|
Private _ToDragGridViewCustomers As DevExpress.XtraGrid.Views.Grid.GridView
|
|
Private _ToDragGridViewCustomersFileAttachment As DevExpress.XtraGrid.Views.Grid.GridView
|
|
Private _ToDragGridControlCustomersFileAttachment As DevExpress.XtraGrid.GridControl
|
|
Private downHitInfo As GridHitInfo = Nothing
|
|
Dim _WaitFormClass As New WaitFormClass
|
|
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
End Sub
|
|
Protected Overrides Sub OnViewControlsCreated()
|
|
MyBase.OnViewControlsCreated()
|
|
|
|
If View.Id = "OutlookEMailIn_OutlookEMailAttachments_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentListViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of Nuvolar.Module.Win.OutlookEmailVC).aAttachFile.Active.SetItemValue("", False)
|
|
Dim _View As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
_DoDragGridViewOutlookEMailAttachments = TryCast(_View.Editor, DevExpress.ExpressApp.Win.Editors.GridListEditor).GridView
|
|
_DoDragGridViewOutlookEMailAttachments.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseUp
|
|
_DoDragGridControlOutlookEMailAttachments = _DoDragGridViewOutlookEMailAttachments.GridControl
|
|
|
|
AddHandler _DoDragGridViewOutlookEMailAttachments.MouseDown, AddressOf DoDragGridViewOutlookEMailAttachments_MouseDown_MouseDown
|
|
AddHandler _DoDragGridViewOutlookEMailAttachments.MouseMove, AddressOf DoDragGridViewOutlookEMailAttachments_MouseDown_MouseMove
|
|
AddHandler View.SelectionChanged, AddressOf OutlookEMailIn_OutlookEMailAttachments_ListView_SelectionChanged
|
|
|
|
End If
|
|
|
|
If View.Id = "Customers_ListView_CRM_Outlook" Then
|
|
Dim _View As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
_ToDragGridViewCustomers = TryCast(_View.Editor, DevExpress.ExpressApp.Win.Editors.GridListEditor).GridView
|
|
_ToDragGridControlCustomers = _ToDragGridViewCustomers.GridControl
|
|
|
|
AddHandler _ToDragGridControlCustomers.DragOver, AddressOf ToDragGridControlCustomers_DragOver
|
|
AddHandler _ToDragGridControlCustomers.DragDrop, AddressOf ToDragGridControlCustomers_DragDrop
|
|
|
|
End If
|
|
|
|
If View.Id = "Customers_CustomersFileAttachment_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentListViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)?.Active.SetItemValue("", False)
|
|
|
|
Dim _View As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
_ToDragGridViewCustomersFileAttachment = TryCast(_View.Editor, DevExpress.ExpressApp.Win.Editors.GridListEditor).GridView
|
|
|
|
_ToDragGridControlCustomersFileAttachment = _ToDragGridViewCustomersFileAttachment.GridControl
|
|
|
|
AddHandler _ToDragGridControlCustomersFileAttachment.DragOver, AddressOf ToDragGridControlCustomersFileAttachment_DragOver
|
|
AddHandler _ToDragGridControlCustomersFileAttachment.DragDrop, AddressOf ToDragGridControlCustomersFileAttachment_DragDrop
|
|
|
|
End If
|
|
|
|
End Sub
|
|
'Protected Overrides Sub OnDeactivated()
|
|
' MyBase.OnDeactivated()
|
|
' 'If View.Id = "Customers_CustomersFileAttachment_ListView" Then
|
|
' ' Dim _View As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
' ' _ToDragGridViewCustomersFileAttachment = TryCast(_View.Editor, DevExpress.ExpressApp.Win.Editors.GridListEditor).GridView
|
|
|
|
' ' _ToDragGridControlCustomersFileAttachment = _ToDragGridViewCustomersFileAttachment.GridControl
|
|
|
|
' ' RemoveHandler _ToDragGridControlCustomersFileAttachment.DragOver, AddressOf ToDragGridControlCustomersFileAttachment_DragOver
|
|
' ' RemoveHandler _ToDragGridControlCustomersFileAttachment.DragDrop, AddressOf ToDragGridControlCustomersFileAttachment_DragDrop
|
|
|
|
' 'End If
|
|
'End Sub
|
|
'------Subs as Functions-------------
|
|
Private Function LoadOtherFile(ByVal _ActFile As String, _FileData As FileData) As FileData
|
|
Dim _StreamFile = New System.IO.FileStream(_ActFile, System.IO.FileMode.Open, System.IO.FileAccess.Read)
|
|
Dim _StreamReader As New System.IO.StreamReader(_StreamFile)
|
|
_StreamFile.Seek(0, System.IO.SeekOrigin.Begin)
|
|
|
|
_FileData.LoadFromStream(_ActFile, _StreamFile)
|
|
_FileData.FileName = System.IO.Path.GetFileName(_ActFile)
|
|
_StreamReader.Close()
|
|
_StreamFile.Close()
|
|
|
|
Return _FileData
|
|
|
|
End Function
|
|
|
|
|
|
Private Sub DoDragGridViewOutlookEMailAttachments_MouseDown_MouseDown(sender As Object, e As MouseEventArgs)
|
|
|
|
Dim view As GridView = TryCast(sender, GridView)
|
|
downHitInfo = Nothing
|
|
|
|
Dim hitInfo As GridHitInfo = view.CalcHitInfo(New Point(e.X, e.Y))
|
|
If Control.ModifierKeys <> Keys.None Then
|
|
Return
|
|
End If
|
|
If e.Button = MouseButtons.Left AndAlso hitInfo.InRow AndAlso hitInfo.HitTest <> GridHitTest.RowIndicator Then
|
|
downHitInfo = hitInfo
|
|
End If
|
|
End Sub
|
|
Private Sub DoDragGridViewOutlookEMailAttachments_MouseDown_MouseMove(sender As Object, e As MouseEventArgs)
|
|
|
|
Dim view As GridView = TryCast(sender, GridView)
|
|
If e.Button = MouseButtons.Left AndAlso downHitInfo IsNot Nothing Then
|
|
Dim dragSize As Size = SystemInformation.DragSize
|
|
Dim dragRect As New Rectangle(New Point(downHitInfo.HitPoint.X - dragSize.Width / 2, downHitInfo.HitPoint.Y - dragSize.Height / 2), dragSize)
|
|
|
|
If (Not dragRect.Contains(New Point(e.X, e.Y))) Then
|
|
view.GridControl.DoDragDrop(_Selection, DragDropEffects.All)
|
|
downHitInfo = Nothing
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub OutlookEMailIn_OutlookEMailAttachments_ListView_SelectionChanged(sender As Object, e As EventArgs)
|
|
|
|
_Selection.Clear()
|
|
_Selection.AddRange(View.SelectedObjects)
|
|
End Sub
|
|
|
|
Private Sub ToDragGridControlCustomers_DragOver(sender As Object, e As DragEventArgs)
|
|
|
|
e.Effect = DragDropEffects.Copy
|
|
Dim _ListView As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
If _ListView Is Nothing Then Return
|
|
Dim _Grid As DevExpress.XtraGrid.GridControl = TryCast(sender, DevExpress.XtraGrid.GridControl)
|
|
Dim _GridHitInfo As GridHitInfo = _Grid.MainView.CalcHitInfo(_Grid.PointToClient(New Point(e.X, e.Y)))
|
|
|
|
' If Not _ToDragGridViewCustomers.IsDataRow(_GridHitInfo.RowHandle) Then _ToDragGridViewCustomers.CollapseAllGroups()
|
|
If _ToDragGridViewCustomers.IsGroupRow(_GridHitInfo.RowHandle) Then _ToDragGridViewCustomers.ExpandGroupRow(_GridHitInfo.RowHandle)
|
|
|
|
If _ToDragGridViewCustomers.IsDataRow(_GridHitInfo.RowHandle) Then
|
|
_ToDragGridViewCustomers.ClearSelection()
|
|
_ToDragGridViewCustomers.SelectRow(_GridHitInfo.RowHandle)
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub ToDragGridControlCustomers_DragDrop(sender As Object, e As DragEventArgs)
|
|
Try
|
|
Dim _ListView As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
If _ListView Is Nothing Then Return
|
|
Dim _Grid As DevExpress.XtraGrid.GridControl = TryCast(sender, DevExpress.XtraGrid.GridControl)
|
|
Dim _GridHitInfo As GridHitInfo = _Grid.MainView.CalcHitInfo(_Grid.PointToClient(New Point(e.X, e.Y)))
|
|
If Not _GridHitInfo.InRow OrElse Not _GridHitInfo.InRowCell Then Return
|
|
If Not DirectCast(_Grid.MainView, GridView).IsDataRow(_GridHitInfo.RowHandle) Then Return
|
|
Dim _Customers As Customers = TryCast(_Grid.MainView.GetRow(_GridHitInfo.RowHandle), Customers)
|
|
If _Customers Is Nothing Then Return
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
|
|
|
|
Dim _AttachmentSelection As ArrayList = e.Data.GetData(GetType(ArrayList))
|
|
If _AttachmentSelection IsNot Nothing Then
|
|
If TryCast(_AttachmentSelection(0), OutlookEMailAttachments) Is Nothing Then Throw New InvalidCastException
|
|
_WaitFormClass.InitWork(0, 1, _AttachmentSelection.Count)
|
|
_Selection.Clear()
|
|
For Each _OutlookEMailAttachments As OutlookEMailAttachments In _AttachmentSelection
|
|
Dim _CustomersFileAttachment As New CustomersFileAttachment(_ocur.Session)
|
|
With (_CustomersFileAttachment)
|
|
.Customers = _ocur.GetObject(_Customers)
|
|
.File = _ocur.GetObject(_OutlookEMailAttachments.DocumentFileData.File)
|
|
.File.FileName = _OutlookEMailAttachments.DocumentFileData.File.FileName
|
|
End With
|
|
_OutlookEMailAttachments.OutlookEMailIn.IsReaded = True
|
|
_OutlookEMailAttachments.OutlookEMailIn.Qualified = True
|
|
|
|
_Selection.Add(_CustomersFileAttachment)
|
|
_WaitFormClass.DoWork
|
|
Next
|
|
_ocur.CommitChanges()
|
|
_Waitformclass.FinalWork
|
|
CType(New PopupWindowShowActionHelper(Frame.GetController(Of DragAndDropCRMOutlookCustomers_VC).aDragDrop_CRM_Customer_Change), PopupWindowShowActionHelper).ShowPopupWindow()
|
|
|
|
Else
|
|
Dim _FileIn As Object = e.Data.GetData(DataFormats.FileDrop)
|
|
If _FileIn IsNot Nothing Then
|
|
_WaitFormClass.InitWork(0, 1, TryCast(_FileIn, String()).Length)
|
|
_Selection.Clear()
|
|
For Each _ActFile As String In _FileIn
|
|
If System.IO.File.Exists(_ActFile) Then
|
|
Dim _CustomersFileAttachmentNew As New CustomersFileAttachment(_ocur.Session)
|
|
With (_CustomersFileAttachmentNew)
|
|
.Customers = _ocur.GetObject(_Customers)
|
|
.Status = eProductsDocumentationStatus.ePublic
|
|
.File = LoadOtherFile(_ActFile, New FileData(_ocur.Session))
|
|
.ShortName = .File.FileName
|
|
.FileCreated = GetFileCreatedDate(_ActFile)
|
|
.FileModified = GetFileModifiedDate(_ActFile)
|
|
End With
|
|
_Selection.Add(_CustomersFileAttachmentNew)
|
|
End If
|
|
_WaitFormClass.DoWork
|
|
Next
|
|
_ocur.CommitChanges()
|
|
_Waitformclass.FinalWork
|
|
CType(New PopupWindowShowActionHelper(Frame.GetController(Of DragAndDropCRMOutlookCustomers_VC).aDragDrop_CRM_Customer_Change), PopupWindowShowActionHelper).ShowPopupWindow()
|
|
Else
|
|
If _CanEmailDrop Then
|
|
_CanEmailDrop = False
|
|
Dim _OL As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application
|
|
_WaitFormClass.InitWork(0, 1, _OL.ActiveExplorer.Selection.Count)
|
|
If _OL.ActiveExplorer.Selection.Count > 0 Then
|
|
For ik As Long = 1 To _OL.ActiveExplorer.Selection.Count
|
|
_FileIn = _OL.ActiveExplorer.Selection(ik)
|
|
Dim _MailItem As Microsoft.Office.Interop.Outlook.MailItem = TryCast(_FileIn, Microsoft.Office.Interop.Outlook.MailItem)
|
|
If _MailItem IsNot Nothing Then
|
|
Dim _FileName As String = ""
|
|
Dim _Subject As String = _MailItem.Subject.Replace(":", "")
|
|
_Subject = _Subject.Replace("/", "-")
|
|
_FileName = System.IO.Path.GetTempPath + _Subject + ".msg"
|
|
_FileName = _FileName.Replace("\\", "\")
|
|
_MailItem.SaveAs(_FileName, Microsoft.Office.Interop.Outlook.OlSaveAsType.olMSG)
|
|
|
|
If System.IO.File.Exists(_FileName) Then
|
|
Dim _CustomersFileAttachmentNew As New CustomersFileAttachment(_ocur.Session)
|
|
With (_CustomersFileAttachmentNew)
|
|
.Customers = _ocur.GetObject(_Customers)
|
|
.Status = eProductsDocumentationStatus.ePublic
|
|
.File = LoadOtherFile(_FileName, New FileData(_ocur.Session))
|
|
.ShortName = _MailItem.Sender.Name
|
|
.FileCreated = _MailItem.CreationTime
|
|
.FileModified = GetFileModifiedDate(_FileName)
|
|
.Description = _MailItem.Subject
|
|
End With
|
|
_Selection.Add(_CustomersFileAttachmentNew)
|
|
System.IO.File.Delete(_FileName)
|
|
End If
|
|
End If
|
|
_WaitFormClass.DoWork
|
|
Next
|
|
_ocur.CommitChanges()
|
|
_Waitformclass.FinalWork
|
|
SwitchOutlookPanes(_OL)
|
|
CType(New PopupWindowShowActionHelper(Frame.GetController(Of DragAndDropCRMOutlookCustomers_VC).aDragDrop_CRM_Customer_Change), PopupWindowShowActionHelper).ShowPopupWindow()
|
|
End If
|
|
End If
|
|
_CanEmailDrop = True
|
|
End If
|
|
End If
|
|
Catch ex As InvalidCastException
|
|
MsgBox("Ügyfélhez nem lehet e-mailt rendeleni!", MsgBoxStyle.OkOnly, "Hiba!")
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
End Try
|
|
End Sub
|
|
Private Sub ToDragGridControlCustomersFileAttachment_DragOver(sender As Object, e As DragEventArgs)
|
|
|
|
'e.Effect = DragDropEffects.Copy
|
|
Dim _ListView As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
If _ListView Is Nothing Then Return
|
|
Dim _Grid As DevExpress.XtraGrid.GridControl = TryCast(sender, DevExpress.XtraGrid.GridControl)
|
|
Dim _GridHitInfo As GridHitInfo = _Grid.MainView.CalcHitInfo(_Grid.PointToClient(New Point(e.X, e.Y)))
|
|
|
|
' If Not _ToDragGridViewCustomersFileAttachment.IsDataRow(_GridHitInfo.RowHandle) Then _ToDragGridViewCustomersFileAttachment.CollapseAllGroups()
|
|
If _ToDragGridViewCustomersFileAttachment.IsGroupRow(_GridHitInfo.RowHandle) Then _ToDragGridViewCustomersFileAttachment.ExpandGroupRow(_GridHitInfo.RowHandle)
|
|
_ActSelection = Nothing
|
|
|
|
If Not _ToDragGridViewCustomersFileAttachment.IsDataRow(_GridHitInfo.RowHandle) Then
|
|
e.Effect = DragDropEffects.None
|
|
_ToDragGridViewCustomersFileAttachment.Tag = "NODROP"
|
|
|
|
ElseIf _ToDragGridViewCustomersFileAttachment.IsDataRow(_GridHitInfo.RowHandle) Then
|
|
e.Effect = DragDropEffects.Copy
|
|
_ToDragGridViewCustomersFileAttachment.ClearSelection()
|
|
_ToDragGridViewCustomersFileAttachment.SelectRow(_GridHitInfo.RowHandle)
|
|
_ActSelection = _ToDragGridViewCustomersFileAttachment.GetRow(_ToDragGridViewCustomersFileAttachment.GetSelectedRows(0))
|
|
_ToDragGridViewCustomersFileAttachment.Tag = ""
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub ToDragGridControlCustomersFileAttachment_DragDrop(sender As Object, e As DragEventArgs)
|
|
'Try
|
|
If _ToDragGridViewCustomersFileAttachment.Tag = "NODROP" Then
|
|
_ToDragGridViewCustomersFileAttachment.Tag = ""
|
|
Return
|
|
End If
|
|
Dim _ListView As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
|
|
If _ListView Is Nothing Then Return
|
|
Dim _Grid As DevExpress.XtraGrid.GridControl = TryCast(sender, DevExpress.XtraGrid.GridControl)
|
|
Dim _GridHitInfo As GridHitInfo = _Grid.MainView.CalcHitInfo(_Grid.PointToClient(New Point(e.X, e.Y)))
|
|
Dim _Customer_CustomersFileAttachment As CustomersFileAttachment = Nothing
|
|
If _ActSelection IsNot Nothing Then
|
|
_Customer_CustomersFileAttachment = TryCast(_ActSelection, CustomersFileAttachment)
|
|
Else
|
|
If Not _GridHitInfo.InRow OrElse Not _GridHitInfo.InRowCell Then Return
|
|
If Not DirectCast(_Grid.MainView, GridView).IsDataRow(_GridHitInfo.RowHandle) Then Return
|
|
|
|
_Customer_CustomersFileAttachment = TryCast(_Grid.MainView.GetRow(_GridHitInfo.RowHandle), CustomersFileAttachment)
|
|
End If
|
|
|
|
If _Customer_CustomersFileAttachment Is Nothing Then Return
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
|
|
Dim _AttachmentSelection As ArrayList = e.Data.GetData(GetType(ArrayList))
|
|
If _AttachmentSelection IsNot Nothing Then
|
|
_WaitFormClass.InitWork(0, 1, _AttachmentSelection.Count)
|
|
For Each _OutlookEMailAttachments As OutlookEMailAttachments In _AttachmentSelection
|
|
Dim _CustomersFileAttachment As New CustomersFileAttachment(_ocur.Session)
|
|
With (_CustomersFileAttachment)
|
|
.RowGroup1 = _Customer_CustomersFileAttachment.RowGroup1
|
|
.RowGroup2 = _Customer_CustomersFileAttachment.RowGroup2
|
|
.Status = eProductsDocumentationStatus.ePublic
|
|
.Customers = _ocur.GetObject(_Customer_CustomersFileAttachment.Customers)
|
|
.File = _ocur.GetObject(_OutlookEMailAttachments.DocumentFileData.File)
|
|
.File.FileName = _OutlookEMailAttachments.DocumentFileData.File.FileName
|
|
End With
|
|
_OutlookEMailAttachments.OutlookEMailIn.IsReaded = True
|
|
_OutlookEMailAttachments.OutlookEMailIn.Qualified = True
|
|
_WaitFormClass.DoWork
|
|
Next
|
|
_ocur.CommitChanges()
|
|
_Waitformclass.FinalWork
|
|
Else
|
|
Dim _FileIn As Object = e.Data.GetData(DataFormats.FileDrop)
|
|
If _FileIn IsNot Nothing Then
|
|
_WaitFormClass.InitWork(0, 1, TryCast(_FileIn, String()).Length)
|
|
For Each _ActFile As String In _FileIn
|
|
If System.IO.File.Exists(_ActFile) Then
|
|
Dim _CustomersFileAttachmentNew As New CustomersFileAttachment(_ocur.Session)
|
|
With (_CustomersFileAttachmentNew)
|
|
.RowGroup1 = _Customer_CustomersFileAttachment.RowGroup1
|
|
.RowGroup2 = _Customer_CustomersFileAttachment.RowGroup2
|
|
.Status = eProductsDocumentationStatus.ePublic
|
|
.Customers = _ocur.GetObject(_Customer_CustomersFileAttachment.Customers)
|
|
.File = LoadOtherFile(_ActFile, New FileData(_ocur.Session))
|
|
.ShortName = .File.FileName
|
|
.FileCreated = GetFileCreatedDate(_ActFile)
|
|
.FileModified = GetFileModifiedDate(_ActFile)
|
|
End With
|
|
End If
|
|
_WaitFormClass.DoWork
|
|
Next
|
|
_ocur.CommitChanges()
|
|
_Waitformclass.FinalWork
|
|
Else
|
|
If _CanEmailDrop Then
|
|
_CanEmailDrop = False
|
|
Dim _OL As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application
|
|
If _OL.ActiveExplorer.Selection.Count > 0 Then
|
|
_WaitFormClass.InitWork(0, 1, _OL.ActiveExplorer.Selection.Count)
|
|
For ik = 1 To _OL.ActiveExplorer.Selection.Count
|
|
_FileIn = _OL.ActiveExplorer.Selection(ik)
|
|
Dim _MailItem As Microsoft.Office.Interop.Outlook.MailItem = TryCast(_FileIn, Microsoft.Office.Interop.Outlook.MailItem)
|
|
If _MailItem IsNot Nothing Then
|
|
Dim _FileName As String = ""
|
|
Dim _Subject As String = ""
|
|
If _MailItem.Subject IsNot Nothing Then
|
|
_Subject = _MailItem.Subject.Replace(":", "")
|
|
_Subject = _Subject.Replace("/", "-")
|
|
Else
|
|
_Subject = "Nincs tárgy"
|
|
End If
|
|
If _Subject.Length > 16 Then
|
|
_FileName = System.IO.Path.GetTempPath + _Subject.Remove(16, _Subject.Length - 16) + ".msg"
|
|
Else
|
|
_FileName = System.IO.Path.GetTempPath + _Subject + ".msg"
|
|
End If
|
|
|
|
_MailItem.SaveAs(_FileName, Microsoft.Office.Interop.Outlook.OlSaveAsType.olMSG)
|
|
|
|
If System.IO.File.Exists(_FileName) Then
|
|
Dim _CustomersFileAttachmentNew As New CustomersFileAttachment(_ocur.Session)
|
|
With (_CustomersFileAttachmentNew)
|
|
.RowGroup1 = _Customer_CustomersFileAttachment.RowGroup1
|
|
.RowGroup2 = _Customer_CustomersFileAttachment.RowGroup2
|
|
.Customers = _ocur.GetObject(_Customer_CustomersFileAttachment.Customers)
|
|
.Status = eProductsDocumentationStatus.ePublic
|
|
.File = LoadOtherFile(_FileName, New FileData(_ocur.Session))
|
|
.ShortName = _MailItem.Sender.Name
|
|
.FileCreated = _MailItem.ReceivedTime 'Küldés dátuma kell?
|
|
.FileModified = GetFileModifiedDate(_FileName)
|
|
.Description = _MailItem.Subject
|
|
End With
|
|
_Selection.Add(_CustomersFileAttachmentNew)
|
|
System.IO.File.Delete(_FileName)
|
|
End If
|
|
End If
|
|
_WaitFormClass.DoWork
|
|
Next
|
|
_ocur.CommitChanges()
|
|
_Waitformclass.FinalWork
|
|
SwitchOutlookPanes(_OL)
|
|
End If
|
|
End If
|
|
_CanEmailDrop = True
|
|
End If
|
|
End If
|
|
'Catch ex As Exception
|
|
'MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
'End Try
|
|
End Sub
|
|
|
|
Private Sub aDragDrop_CRM_Customer_Change_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aDragDrop_CRM_Customer_Change.CustomizePopupWindowParams
|
|
Try
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ChangeFileAttachment_PopUp As ChangeFileAttachment_PopUp = _onew.CreateObject(Of ChangeFileAttachment_PopUp)()
|
|
e.View = Application.CreateDetailView(_onew, "ChangeFileAttachment_PopUp_DetailView", True, _ChangeFileAttachment_PopUp)
|
|
e.View.Tag = "aCustomersFileAttachment_ChangeGroup"
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
End Try
|
|
End Sub
|
|
Private Sub aDragDrop_CRM_Customer_Change_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aDragDrop_CRM_Customer_Change.Execute
|
|
|
|
Try
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ChangeFileAttachment_PopUp As ChangeFileAttachment_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ChangeFileAttachment_PopUp)
|
|
Dim _Customers As Customers = _onew.GetObject(TryCast(View.SelectedObjects(0), Customers))
|
|
_WaitFormClass.InitWork(1, 1, _Selection.Count)
|
|
For Each _CustomersFileAttachment_Select As CustomersFileAttachment In _Selection
|
|
Dim _CustomersFileAttachment As CustomersFileAttachment = _onew.GetObject(_CustomersFileAttachment_Select)
|
|
If _ChangeFileAttachment_PopUp.ChangeRowGroup1 Then
|
|
_CustomersFileAttachment.RowGroup1 = _ChangeFileAttachment_PopUp.RowGroup1
|
|
End If
|
|
If _ChangeFileAttachment_PopUp.ChangeRowGroup2 Then
|
|
_CustomersFileAttachment.RowGroup2 = _ChangeFileAttachment_PopUp.RowGroup2
|
|
End If
|
|
If _ChangeFileAttachment_PopUp.ChangeStatus Then
|
|
_CustomersFileAttachment.Status = _ChangeFileAttachment_PopUp.Status
|
|
End If
|
|
_WaitFormClass.DoWork
|
|
Next
|
|
_onew.CommitChanges()
|
|
|
|
View.Refresh()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
Finally
|
|
_Waitformclass.FinalWork
|
|
_Selection.Clear()
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Function GetFileCreatedDate(_ActFile As String) As Date
|
|
Return System.IO.File.GetCreationTime(_ActFile)
|
|
End Function
|
|
Private Function GetFileModifiedDate(_ActFile As String) As Date
|
|
Return System.IO.File.GetLastAccessTime(_ActFile)
|
|
End Function
|
|
Public Sub SwitchOutlookPanes(_OL As Microsoft.Office.Interop.Outlook.Application)
|
|
Dim _Explorer As Microsoft.Office.Interop.Outlook.Explorer = _OL.ActiveExplorer
|
|
Try
|
|
If _OL IsNot Nothing And _Explorer IsNot Nothing Then
|
|
Dim nMAPIFOlder As Interop.Outlook.MAPIFolder = _Explorer.CurrentFolder
|
|
Dim _NameSpace As Microsoft.Office.Interop.Outlook.NameSpace = _OL.GetNamespace("MAPI")
|
|
If _NameSpace.Folders(1) IsNot Nothing Then
|
|
If _NameSpace.Folders(1).Folders.Count > 0 Then
|
|
If _NameSpace.Folders(1).Folders(_NameSpace.Folders(1).Folders.Count) IsNot Nothing Then
|
|
If _NameSpace.Folders(1).Folders(_NameSpace.Folders(1).Folders.Count).Name <> nMAPIFOlder.Name Then
|
|
_Explorer.CurrentFolder = _NameSpace.Folders(1).Folders(_NameSpace.Folders(1).Folders.Count)
|
|
Else
|
|
_Explorer.CurrentFolder = _NameSpace.Folders(1).Folders(1)
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
System.Threading.Thread.Sleep(1000)
|
|
_Explorer.CurrentFolder = nMAPIFOlder
|
|
System.Threading.Thread.Sleep(1000)
|
|
End If
|
|
Catch ex As System.Exception
|
|
Finally
|
|
Marshal.ReleaseComObject(_Explorer)
|
|
Marshal.ReleaseComObject(_OL)
|
|
End Try
|
|
End Sub
|
|
End Class
|