Files
Nuvolar/Nuvolar.Module/BusinessObjects/Business/Agricultural/APCSheetReviewHeader_VC.vb
T
2017-03-08 11:21:27 +01:00

114 lines
5.6 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.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Imports DevExpress.ExpressApp.Utils
Imports DevExpress.Persistent.BaseImpl
Imports System.IO
Public Class APCSheetReviewHeader_VC
Inherits DevExpress.ExpressApp.ViewController
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
Public Event DoWork()
Public Event FinalWork
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
#Region "Overrides"
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
If View.Id = "APCSheetReviewHeader_APCSheetReviewHeaderPhotos_ListView" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
End If
If View.Id = "APCSheetReviewHeader_APCSheetReviewRows_ListView" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "APCSheetReviewHeader_APCSheetReviewHeaderPhotos_ListView" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", True)
End If
If View.Id = "APCSheetReviewHeader_APCSheetReviewRows_ListView" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", True)
End If
End Sub
#End Region
Private Sub aAPCSheetReviewHeaderPhotos_AddPhotos_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aAPCSheetReviewHeaderPhotos_AddPhotos.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _APCSheetReviewHeader As APCSheetReviewHeader = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, APCSheetReviewHeader)
If _APCSheetReviewHeader IsNot Nothing Then
Try
Dim _OpenFileDialog As New System.Windows.Forms.OpenFileDialog
_OpenFileDialog.Filter = "JPG file (.jpg)|*.jpg|BMP file (.bmp)|*.bmp|GIF file (.gif)|*.gif|All Files (*.*)|*.*"
_OpenFileDialog.Multiselect = True
If _OpenFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
RaiseEvent InitWork(1, 1, _OpenFileDialog.FileNames.Length)
For Each _FileName As String In _OpenFileDialog.FileNames
RaiseEvent DoWork()
Dim _APCSheetReviewHeaderPhotos As New APCSheetReviewHeaderPhotos(_ocur.Session)
With _APCSheetReviewHeaderPhotos
.APCSheetReviewHeader = _APCSheetReviewHeader
.PhotoFile = LoadOtherFile(_FileName, New FileData(_ocur.Session))
End With
Next
End If
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Finally
RaiseEvent FinalWork
End Try
End If
End Sub
Private Sub aAPCSheetReviewHeaderPhotos_OpenPhoto_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aAPCSheetReviewHeaderPhotos_OpenPhoto.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _APCSheetReviewHeaderPhotos As APCSheetReviewHeaderPhotos = TryCast(View.SelectedObjects(0), APCSheetReviewHeaderPhotos)
If _APCSheetReviewHeaderPhotos IsNot Nothing Then
Dim _FilePath As String = Path.Combine(Path.GetTempPath(), _APCSheetReviewHeaderPhotos.PhotoFile.FileName)
Dim _Stream As Stream = New FileStream(_FilePath, FileMode.Create)
_APCSheetReviewHeaderPhotos.PhotoFile.SaveToStream(_Stream)
_Stream.Close()
Process.Start(_FilePath)
End If
End Sub
#Region "Subs and 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
#End Region
End Class