Reconfigure for GIT
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
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.Demos
|
||||
Public Class LongOperationController
|
||||
Inherits DevExpress.ExpressApp.ViewController
|
||||
Private progressControl As IProgressControl
|
||||
Private waitLongOperationCompleted As AsyncOperation
|
||||
Public Sub New()
|
||||
MyBase.New()
|
||||
|
||||
'This call is required by the Component Designer.
|
||||
InitializeComponent()
|
||||
RegisterActions(components)
|
||||
|
||||
End Sub
|
||||
MustOverride Sub DoWorkCore(longOperation As LongOperation)
|
||||
MustOverride Function CreateProgressControl() As IProgressControl
|
||||
Private Sub DoWork(longOperation As LongOperation)
|
||||
Try
|
||||
DoWorkCore(longOperation)
|
||||
Catch ex As Exception
|
||||
longOperation.TerminateAsync()
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub WorkCompleted(state As Object)
|
||||
OnOperationCompleted()
|
||||
End Sub
|
||||
Private Sub LongOperation_CancellingTimeoutExpired(sender As Object, e As EventArgs)
|
||||
TryCast(sender, LongOperation).TerminateAsync()
|
||||
End Sub
|
||||
Private Sub LongOperation_Completed(sender As Object, e As LongOperationCompletedEventArgs)
|
||||
progressControl.Dispose()
|
||||
progressControl = Nothing
|
||||
AddHandler TryCast(sender, LongOperation).CancellingTimeoutExpired, AddressOf LongOperation_CancellingTimeoutExpired
|
||||
AddHandler TryCast(sender, LongOperation).Completed, AddressOf LongOperation_Completed
|
||||
waitLongOperationCompleted.PostOperationCompleted(AddressOf WorkCompleted, Nothing)
|
||||
waitLongOperationCompleted = Nothing
|
||||
End Sub
|
||||
Protected Sub OnOperationStarted()
|
||||
RaiseEvent OperationStarted(Me, Nothing)
|
||||
End Sub
|
||||
Protected Sub OnOperationCompleted()
|
||||
View.ObjectSpace.Refresh()
|
||||
RaiseEvent OperationCompleted(Me, Nothing)
|
||||
End Sub
|
||||
Protected Sub StartLongOperation()
|
||||
waitLongOperationCompleted = AsyncOperationManager.CreateOperation(Nothing)
|
||||
Dim _longOperation As LongOperation = New LongOperation(AddressOf DoWork)
|
||||
_longOperation.CancellingTimeoutMilliSeconds = 10000
|
||||
AddHandler _longOperation.CancellingTimeoutExpired, AddressOf LongOperation_CancellingTimeoutExpired
|
||||
AddHandler _longOperation.Completed, AddressOf LongOperation_Completed
|
||||
|
||||
progressControl = CreateProgressControl()
|
||||
progressControl.ShowProgress(_longOperation)
|
||||
_longOperation.StartAsync()
|
||||
OnOperationStarted()
|
||||
End Sub
|
||||
Public Event OperationCompleted As EventHandler
|
||||
Public Event OperationStarted As EventHandler
|
||||
End Class
|
||||
Public Class LongOperationTerminateException
|
||||
Inherits Exception
|
||||
End Class
|
||||
<AttributeUsage(AttributeTargets.Class, AllowMultiple:=False, Inherited:=True)> _
|
||||
Public Class BatchCreationOptionsAttribute
|
||||
Inherits Attribute
|
||||
Private _objectsCount As Long
|
||||
Private _commitInterval As Long
|
||||
Sub New()
|
||||
MyBase.New()
|
||||
End Sub
|
||||
Public Sub BatchCreationOptionsAttribute(objectsCount As Long)
|
||||
_objectsCount = objectsCount
|
||||
End Sub
|
||||
Public Sub BatchCreationOptionsAttribute(objectsCount As Long, commitInterval As Integer)
|
||||
_objectsCount = objectsCount
|
||||
_commitInterval = commitInterval
|
||||
End Sub
|
||||
ReadOnly Property ObjectsCount As Long
|
||||
Get
|
||||
Return _objectsCount
|
||||
End Get
|
||||
End Property
|
||||
ReadOnly Property CommitInterval As Long
|
||||
Get
|
||||
Return _commitInterval
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
Public Interface IObjectPropertiesInitializer
|
||||
Sub InitializeObject(index As Integer)
|
||||
End Interface
|
||||
Public Interface IProgressControl
|
||||
Inherits IDisposable
|
||||
Sub ShowProgress(longOperation As LongOperation)
|
||||
End Interface
|
||||
Reference in New Issue
Block a user