Files
Nuvolar/Nuvolar.Module.Win/Controllers/DragAndDrop/DragAndDropCRMOutlookProducts_VC.vb
T
ivanszabo 9cca882b34 Átállás 17.2.3-ra
Related Work Items: #123
2017-12-02 16:09:26 +01:00

634 lines
37 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 System.IO
Imports DevExpress.ExpressApp.Utils
Public Class DragAndDropCRMOutlookProducts_VC
Inherits DevExpress.ExpressApp.ViewController
Private _Selection As New ArrayList
Dim _ActSelection As Object
Private downHitInfo As GridHitInfo = Nothing
Dim _WaitFormClass As New WaitFormClass
Private _CRM_Opportunities As CRM_Opportunities = Nothing
Private _AllowSelect_CRM_Opportunities As Boolean = False
Private _DoDragGridViewOutlookEMailAttachments As DevExpress.XtraGrid.Views.Grid.GridView
Private _DoDragGridControlOutlookEMailAttachments As DevExpress.XtraGrid.GridControl
Private _ToDragGridControlProducts As DevExpress.XtraGrid.GridControl
Private _ToDragGridViewProducts As DevExpress.XtraGrid.Views.Grid.GridView
Private _ToDragGridControlProductsDocumentations As DevExpress.XtraGrid.GridControl
Private _ToDragGridViewProductsDocumentations As DevExpress.XtraGrid.Views.Grid.GridView
Private _ToDragGridControlCustomersOrderPriority As DevExpress.XtraGrid.GridControl
Private _ToDragGridViewCustomersOrderPriority As DevExpress.XtraGrid.Views.Grid.GridView
Private _ToDragGridControlCustomersFileAttachment As DevExpress.XtraGrid.GridControl
Private _ToDragGridViewCustomersFileAttachment As DevExpress.XtraGrid.Views.Grid.GridView
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "OutlookEMailIn_OutlookEMailAttachments_ListView" Then
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 = "Products_ListView_CRM_Outlook" Then
Dim _View As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
_ToDragGridViewProducts = TryCast(_View.Editor, DevExpress.ExpressApp.Win.Editors.GridListEditor).GridView
_ToDragGridControlProducts = _ToDragGridViewProducts.GridControl
AddHandler _ToDragGridControlProducts.DragOver, AddressOf ToDragGridControlProducts_DragOver
AddHandler _ToDragGridControlProducts.DragDrop, AddressOf ToDragGridControlProducts_DragDrop
End If
If View.Id = "Products_ProductsDocumentations_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)
Dim _View As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
_ToDragGridViewProductsDocumentations = TryCast(_View.Editor, DevExpress.ExpressApp.Win.Editors.GridListEditor).GridView
_ToDragGridControlProductsDocumentations = _ToDragGridViewProductsDocumentations.GridControl
AddHandler _ToDragGridControlProductsDocumentations.DragOver, AddressOf ToDragGridControlProductsDocumentations_DragOver
AddHandler _ToDragGridControlProductsDocumentations.DragDrop, AddressOf ToDragGridControlProductsDocumentations_DragDrop
End If
If View.Id = "Products_CustomersOrderPriority_ListView_CRM_Outlook" 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.SystemModule.LinkUnlinkController)?.Active.SetItemValue("", False)
Dim _View As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
_ToDragGridViewCustomersOrderPriority = TryCast(_View.Editor, DevExpress.ExpressApp.Win.Editors.GridListEditor).GridView
_ToDragGridControlCustomersOrderPriority = _ToDragGridViewCustomersOrderPriority.GridControl
AddHandler _ToDragGridControlCustomersOrderPriority.DragOver, AddressOf ToDragGridControlCustomersOrderPriority_DragOver
AddHandler _ToDragGridControlCustomersOrderPriority.DragDrop, AddressOf ToDragGridControlCustomersOrderPrioritys_DragDrop
End If
If View.Id = "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.SystemModule.LinkUnlinkController)?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentListViewController)?.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
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
_AllowSelect_CRM_Opportunities = True
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 ToDragGridControlProducts_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 _ToDragGridViewProducts.IsDataRow(_GridHitInfo.RowHandle) Then _ToDragGridViewProducts.CollapseAllGroups()
If _ToDragGridViewProducts.IsGroupRow(_GridHitInfo.RowHandle) Then _ToDragGridViewProducts.ExpandGroupRow(_GridHitInfo.RowHandle)
If _ToDragGridViewProducts.IsDataRow(_GridHitInfo.RowHandle) Then
_ToDragGridViewProducts.ClearSelection()
_ToDragGridViewProducts.SelectRow(_GridHitInfo.RowHandle)
End If
End Sub
Private Sub ToDragGridControlProducts_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 _Products As Products = TryCast(_Grid.MainView.GetRow(_GridHitInfo.RowHandle), Products)
If _Products Is Nothing Then Return
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _AttachmentSelection As ArrayList = e.Data.GetData(GetType(ArrayList))
If _AttachmentSelection IsNot Nothing Then
'_WaitFormClass.InitWork(0, 1, _AttachmentSelection.Count)
_Selection.Clear()
For Each _OutlookEMailAttachments As OutlookEMailAttachments In _AttachmentSelection
Dim _ProductsDocumentations As New ProductsDocumentations(_onew.Session)
With (_ProductsDocumentations)
.Products = _onew.GetObject(_Products)
.Status = eProductsDocumentationStatus.ePublic
.File = _onew.GetObject(_OutlookEMailAttachments.DocumentFileData.File)
.ShortName = .File.FileName
End With
_Selection.Add(_ProductsDocumentations)
_OutlookEMailAttachments.OutlookEMailIn.IsReaded = True
_OutlookEMailAttachments.OutlookEMailIn.Qualified = True
'_WaitFormClass.DoWork
Next
_onew.CommitChanges()
CType(New PopupWindowShowActionHelper(Frame.GetController(Of DragAndDropCRMOutlookProducts_VC).aDragDrop_Products_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 _ProductsDocumentations As New ProductsDocumentations(_onew.Session)
With (_ProductsDocumentations)
.Products = _onew.GetObject(_Products)
.Status = eProductsDocumentationStatus.ePublic
.File = LoadOtherFile(_ActFile, New FileData(_onew.Session))
.ShortName = .File.FileName
.FileCreated = GetFileCreatedDate(_ActFile)
.FileModified = GetFileModifiedDate(_ActFile)
End With
_Selection.Add(_ProductsDocumentations)
End If
' _WaitFormClass.DoWork
Next
_onew.CommitChanges()
CType(New PopupWindowShowActionHelper(Frame.GetController(Of DragAndDropCRMOutlookProducts_VC).aDragDrop_Products_Change), PopupWindowShowActionHelper).ShowPopupWindow()
End If
End If
Catch ex As InvalidCastException
MsgBox("Termékhez 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")))
Finally
' _Waitformclass.FinalWork
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RefreshController).RefreshAction.DoExecute()
End Try
End Sub
Private Sub ToDragGridControlProductsDocumentations_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 _ToDragGridViewProductsDocumentations.IsGroupRow(_GridHitInfo.RowHandle) Then _ToDragGridViewProductsDocumentations.ExpandGroupRow(_GridHitInfo.RowHandle)
_ActSelection = Nothing
If Not _ToDragGridViewProductsDocumentations.IsDataRow(_GridHitInfo.RowHandle) Then
e.Effect = DragDropEffects.None
_ToDragGridViewProductsDocumentations.Tag = "NODROPDOC"
ElseIf _ToDragGridViewProductsDocumentations.IsDataRow(_GridHitInfo.RowHandle) Then
e.Effect = DragDropEffects.Copy
_ToDragGridViewProductsDocumentations.ClearSelection()
_ToDragGridViewProductsDocumentations.SelectRow(_GridHitInfo.RowHandle)
_ActSelection = _ToDragGridViewProductsDocumentations.GetRow(_ToDragGridViewProductsDocumentations.GetSelectedRows(0))
_ToDragGridViewProductsDocumentations.Tag = ""
End If
End Sub
Private Sub ToDragGridControlProductsDocumentations_DragDrop(sender As Object, e As DragEventArgs)
Try
If _ToDragGridViewProductsDocumentations.Tag = "NODROPDOC" Then
_ToDragGridViewProductsDocumentations.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 _ProductsDocumentations As ProductsDocumentations = Nothing
If _ActSelection IsNot Nothing Then
_ProductsDocumentations = TryCast(_ActSelection, ProductsDocumentations)
Else
If Not _GridHitInfo.InRow OrElse Not _GridHitInfo.InRowCell Then Return
If Not DirectCast(_Grid.MainView, GridView).IsDataRow(_GridHitInfo.RowHandle) Then Return
_ProductsDocumentations = TryCast(_Grid.MainView.GetRow(_GridHitInfo.RowHandle), ProductsDocumentations)
End If
If _ProductsDocumentations 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(1, 1, _AttachmentSelection.Count)
For Each _OutlookEMailAttachments As OutlookEMailAttachments In _AttachmentSelection
Dim _ProductsDocumentationsNew As New ProductsDocumentations(_ocur.Session)
With (_ProductsDocumentationsNew)
.RowGroup1 = _ProductsDocumentations.RowGroup1
.RowGroup2 = _ProductsDocumentations.RowGroup2
.Products = _ocur.GetObject(_ProductsDocumentations.Products)
.Status = eProductsDocumentationStatus.ePublic
.File = _ocur.GetObject(_OutlookEMailAttachments.DocumentFileData.File)
.ShortName = .File.FileName
End With
_Selection.Add(_ProductsDocumentations)
_OutlookEMailAttachments.OutlookEMailIn.IsReaded = True
_OutlookEMailAttachments.OutlookEMailIn.Qualified = True
_WaitFormClass.DoWork()
Next
_ocur.CommitChanges()
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 _ProductsDocumentationsNew As New ProductsDocumentations(_ocur.Session)
With (_ProductsDocumentationsNew)
.RowGroup1 = _ProductsDocumentations.RowGroup1
.RowGroup2 = _ProductsDocumentations.RowGroup2
.Products = _ocur.GetObject(_ProductsDocumentations.Products)
.Status = eProductsDocumentationStatus.ePublic
.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()
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Finally
_Waitformclass.FinalWork()
End Try
End Sub
Private Sub ToDragGridControlCustomersOrderPriority_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 _ToDragGridViewCustomersOrderPriority.IsDataRow(_GridHitInfo.RowHandle) Then _ToDragGridViewCustomersOrderPriority.CollapseAllGroups()
If _ToDragGridViewCustomersOrderPriority.IsGroupRow(_GridHitInfo.RowHandle) Then _ToDragGridViewCustomersOrderPriority.ExpandGroupRow(_GridHitInfo.RowHandle)
If _ToDragGridViewCustomersOrderPriority.IsDataRow(_GridHitInfo.RowHandle) Then
_ToDragGridViewCustomersOrderPriority.ClearSelection()
_ToDragGridViewCustomersOrderPriority.SelectRow(_GridHitInfo.RowHandle)
End If
End Sub
Private Sub ToDragGridControlCustomersOrderPrioritys_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 _CustomersOrderPriority As CustomersOrderPriority = TryCast(_Grid.MainView.GetRow(_GridHitInfo.RowHandle), CustomersOrderPriority)
If _CustomersOrderPriority Is Nothing Then Return
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _AttachmentSelection As ArrayList = e.Data.GetData(GetType(ArrayList))
If _AttachmentSelection IsNot Nothing Then
' _WaitFormClass.InitWork(0, 1, _AttachmentSelection.Count)
_Selection.Clear()
For Each _OutlookEMailAttachments As OutlookEMailAttachments In _AttachmentSelection
Dim _CustomersFileAttachment As New CustomersFileAttachment(_onew.Session)
With (_CustomersFileAttachment)
.Customers = _onew.GetObject(TryCast(_CustomersOrderPriority.CustomersOrder, Customers))
.File = _onew.GetObject(_OutlookEMailAttachments.DocumentFileData.File)
.File.FileName = _OutlookEMailAttachments.DocumentFileData.File.FileName
.ShortName = .File.FileName
End With
_Selection.Add(_CustomersFileAttachment)
_OutlookEMailAttachments.OutlookEMailIn.IsReaded = True
_OutlookEMailAttachments.OutlookEMailIn.Qualified = True
' _WaitFormClass.DoWork
Next
_onew.CommitChanges()
CType(New PopupWindowShowActionHelper(Frame.GetController(Of DragAndDropCRMOutlookProducts_VC).aDragDrop_CustomersDoc_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 _CustomersFileAttachment As New CustomersFileAttachment(_onew.Session)
With (_CustomersFileAttachment)
.Customers = _onew.GetObject(TryCast(_CustomersOrderPriority.CustomersOrder, Customers))
.File = LoadOtherFile(_ActFile, New FileData(_onew.Session))
.ShortName = .File.FileName
.FileCreated = GetFileCreatedDate(_ActFile)
.FileModified = GetFileModifiedDate(_ActFile)
End With
_Selection.Add(_CustomersFileAttachment)
End If
' _WaitFormClass.DoWork
Next
_onew.CommitChanges()
CType(New PopupWindowShowActionHelper(Frame.GetController(Of DragAndDropCRMOutlookProducts_VC).aDragDrop_CustomersDoc_Change), PopupWindowShowActionHelper).ShowPopupWindow()
End If
End If
Catch ex As InvalidCastException
MsgBox("Beszállítóhoz 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")))
Finally
' _Waitformclass.FinalWork
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 = "NODROPATTACH"
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 = "NODROPATTACH" 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 _CustomersFileAttachment As CustomersFileAttachment = Nothing
If _ActSelection IsNot Nothing Then
_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
_CustomersFileAttachment = TryCast(_Grid.MainView.GetRow(_GridHitInfo.RowHandle), CustomersFileAttachment)
End If
If _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 _CustomersFileAttachmentNew As New CustomersFileAttachment(_ocur.Session)
With (_CustomersFileAttachmentNew)
.RowGroup1 = _CustomersFileAttachment.RowGroup1
.RowGroup2 = _CustomersFileAttachment.RowGroup2
.Customers = _ocur.GetObject(_CustomersFileAttachment.Customers)
.File = _ocur.GetObject(_OutlookEMailAttachments.DocumentFileData.File)
.ShortName = .File.FileName
.FileCreated = GetFileCreatedDate(.File)
.FileModified = GetFileModifiedDate(.File)
End With
_OutlookEMailAttachments.OutlookEMailIn.IsReaded = True
_OutlookEMailAttachments.OutlookEMailIn.Qualified = True
_WaitFormClass.DoWork()
Next
_ocur.CommitChanges()
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 = _CustomersFileAttachment.RowGroup1
.RowGroup2 = _CustomersFileAttachment.RowGroup2
.Customers = _ocur.GetObject(_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()
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Finally
_Waitformclass.FinalWork()
End Try
End Sub
Private Sub aDragDrop_Products_Change_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aDragDrop_Products_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 = "aProductsDocumentations_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_Products_Change_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aDragDrop_Products_Change.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ChangeFileAttachment_PopUp As ChangeFileAttachment_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ChangeFileAttachment_PopUp)
If TryCast(_Selection(0), ProductsDocumentations) IsNot Nothing Then
_WaitFormClass.InitWork(1, 1, _Selection.Count)
For Each _ProductsDocumentationsAct As ProductsDocumentations In _Selection
Dim _ProductsDocumentations As ProductsDocumentations = _onew.GetObject(_ProductsDocumentationsAct)
If _ChangeFileAttachment_PopUp.ChangeRowGroup1 Then
_ProductsDocumentations.RowGroup1 = _ChangeFileAttachment_PopUp.RowGroup1
End If
If _ChangeFileAttachment_PopUp.ChangeRowGroup2 Then
_ProductsDocumentations.RowGroup2 = _ChangeFileAttachment_PopUp.RowGroup2
End If
If _ChangeFileAttachment_PopUp.ChangeStatus Then
_ProductsDocumentations.Status = _ChangeFileAttachment_PopUp.Status
End If
_WaitFormClass.DoWork()
Next
End If
_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 Sub aDragDrop_CustomersDoc_Change_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aDragDrop_CustomersDoc_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 = "aCustomersDocFileAttachment_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_CustomersDoc_Change_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aDragDrop_CustomersDoc_Change.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ChangeFileAttachment_PopUp As ChangeFileAttachment_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ChangeFileAttachment_PopUp)
If TryCast(_Selection(0), CustomersFileAttachment) IsNot Nothing Then
_WaitFormClass.InitWork(1, 1, _Selection.Count)
For Each _CustomersFileAttachmentAct As CustomersFileAttachment In _Selection
Dim _CustomersFileAttachment As CustomersFileAttachment = _onew.GetObject(_CustomersFileAttachmentAct)
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
End If
_onew.CommitChanges()
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
'------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
Public Function GetFileCreatedDate(_FileData As FileData) As Date
Try
Dim _FileName As String = System.IO.Path.GetTempPath + _FileData.FileName
Dim _StreamFile As New System.IO.FileStream(_FileName, FileMode.Create)
_FileData.SaveToStream(_StreamFile)
_StreamFile.Close()
Return File.GetCreationTime(_FileName)
Catch ex As Exception
Finally
Dim _FileName As String = System.IO.Path.GetTempPath + _FileData.FileName
If File.Exists(_FileName) Then File.Delete(_FileName)
End Try
End Function
Public Function GetFileCreatedDate(_FileName As String) As Date
Return File.GetCreationTime(_FileName)
End Function
Public Function GetFileModifiedDate(_FileData As FileData) As Date
Try
Dim _FileName As String = System.IO.Path.GetTempPath + _FileData.FileName
Dim _StreamFile As New System.IO.FileStream(_FileName, FileMode.Create)
_FileData.SaveToStream(_StreamFile)
_StreamFile.Close()
Return File.GetLastAccessTime(_FileName)
Catch ex As Exception
Finally
Dim _FileName As String = System.IO.Path.GetTempPath + _FileData.FileName
If File.Exists(_FileName) Then File.Delete(_FileName)
End Try
End Function
Public Function GetFileModifiedDate(_FileName As String) As Date
Return File.GetLastAccessTime(_FileName)
End Function
End Class