EDMI: Move Object Status changes into Service
This commit is contained in:
parent
615666f040
commit
abff7fa745
@ -63,12 +63,6 @@ Public Class ctrlObjectPropertyDialog
|
||||
.Language = Environment.User.Language,
|
||||
.Username = Environment.User.UserName
|
||||
})
|
||||
|
||||
Logger.Info("Updating Object State for Object [{0}]", ObjectId)
|
||||
Await Client.SetObjectStateAsync(ObjectId, FileStore.OBJECT_STATE_METADATA_CHANGED, New Options.SetObjectStateOptions With {
|
||||
.Language = Environment.User.Language,
|
||||
.Username = Environment.User.UserName
|
||||
})
|
||||
Next
|
||||
|
||||
ErrorHandler.ShowInfoMessage($"{Changes.Count} Änderungen gespeichert!")
|
||||
@ -92,6 +86,10 @@ Public Class ctrlObjectPropertyDialog
|
||||
End Function
|
||||
|
||||
Public Async Function LoadObject(pObjectId As Long, pEntityId As Long) As Task(Of Boolean)
|
||||
If pObjectId = 0 Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
IsLoading = True
|
||||
Dim oLoadingHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
|
||||
|
||||
@ -223,11 +223,6 @@ Public Class frmObjectPropertyDialog
|
||||
.Language = Environment.User.Language,
|
||||
.Username = Environment.User.UserName
|
||||
})
|
||||
Logger.Info("Updating Object State for Object [{0}]", ObjectId)
|
||||
Await Client.SetObjectStateAsync(ObjectId, IDB.FileStore.OBJECT_STATE_METADATA_CHANGED, New Options.SetObjectStateOptions With {
|
||||
.Language = Environment.User.Language,
|
||||
.Username = Environment.User.UserName
|
||||
})
|
||||
Next
|
||||
|
||||
ErrorHandler.ShowInfoMessage($"{Changes.Count} Änderungen gespeichert!")
|
||||
|
||||
@ -288,7 +288,6 @@ Public Class frmDocumentResultList
|
||||
|
||||
Public Async Sub Watcher_FileChanged(sender As Object, e As DocumentResultList.Watcher.FileChangedArgs) Handles Watcher.FileChanged
|
||||
Try
|
||||
|
||||
Dim oDoctype As GlobalStateDoctype = Nothing
|
||||
|
||||
If e.File.Document.DocumentType IsNot Nothing Then
|
||||
@ -330,18 +329,10 @@ Public Class frmDocumentResultList
|
||||
|
||||
Private Async Function Watcher_OverwriteFile(pFile As DocumentResultList.Watcher.OpenFile) As Task
|
||||
Await Watcher_UpdateFile(pFile, pCreateNewVersion:=False)
|
||||
Await Client.SetObjectStateAsync(pFile.Document.Id, OBJECT_STATE_FILE_CHANGED, New Options.SetObjectStateOptions With {
|
||||
.Language = Environment.User.Language,
|
||||
.Username = Environment.User.UserName
|
||||
})
|
||||
End Function
|
||||
|
||||
Private Async Function Watcher_VersionFile(pFile As DocumentResultList.Watcher.OpenFile) As Task
|
||||
Await Watcher_UpdateFile(pFile, pCreateNewVersion:=True)
|
||||
Await Client.SetObjectStateAsync(pFile.Document.Id, OBJECT_STATE_FILE_VERSIONED, New Options.SetObjectStateOptions With {
|
||||
.Language = Environment.User.Language,
|
||||
.Username = Environment.User.UserName
|
||||
})
|
||||
End Function
|
||||
|
||||
Private Async Function Watcher_UpdateFile(pFile As DocumentResultList.Watcher.OpenFile, pCreateNewVersion As Boolean) As Task
|
||||
|
||||
@ -199,6 +199,25 @@ Namespace IDB
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Function SetObjectState(pObjectId As Long, pState As String, pWho As String) As Boolean
|
||||
Try
|
||||
Dim oSql As String = $"EXEC PRIDB_OBJECT_SET_STATE {pObjectId}, '{pState}', '{pWho}'"
|
||||
Dim oResult = Database.ExecuteNonQuery(oSql)
|
||||
If oResult = False Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
Logger.Info("Object state for [{0}] created: [{1}]", pObjectId, pState)
|
||||
Return True
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Warn("Error while setting Object State")
|
||||
Logger.Error(ex)
|
||||
Return False
|
||||
|
||||
End Try
|
||||
End Function
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
@ -2,6 +2,7 @@
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Services.EDMIService.IDB
|
||||
Imports System.Data.SqlClient
|
||||
Imports DigitalData.Modules.Base.IDB
|
||||
|
||||
Namespace Methods.IDB.SetAttributeValue
|
||||
Public Class SetAttributeValueMethod
|
||||
@ -34,6 +35,8 @@ Namespace Methods.IDB.SetAttributeValue
|
||||
|
||||
Logger.Debug("Attribute value set!")
|
||||
|
||||
Helpers.SetObjectState(pData.ObjectId, FileStore.OBJECT_STATE_FILE_CHANGED, pData.Who)
|
||||
|
||||
' Finally, commit the transaction
|
||||
Transaction?.Commit()
|
||||
|
||||
|
||||
@ -2,8 +2,7 @@
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Database.MSSQLServer.TransactionMode
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Services.EDMIService.Methods
|
||||
Imports DigitalData.Services.EDMIService.GlobalState
|
||||
Imports DigitalData.Modules.Base.IDB
|
||||
|
||||
Namespace Methods.IDB.UpdateFile
|
||||
Public Class UpdateFileMethod
|
||||
@ -62,6 +61,8 @@ Namespace Methods.IDB.UpdateFile
|
||||
LogAndThrow(ex, $"Could not write file [{oFilePath}] to disk!")
|
||||
End Try
|
||||
|
||||
Helpers.SetObjectState(pData.ObjectId, FileStore.OBJECT_STATE_FILE_CHANGED, pData.User.UserName)
|
||||
|
||||
oResultObjectId = pData.ObjectId
|
||||
|
||||
Else
|
||||
@ -101,6 +102,8 @@ Namespace Methods.IDB.UpdateFile
|
||||
DatabaseIDB.ExecuteNonQuery(oSql)
|
||||
Logger.Debug("Versioning complete from [{0}] to [{1}]", pData.ObjectId, oNewObjectId)
|
||||
|
||||
Helpers.SetObjectState(pData.ObjectId, FileStore.OBJECT_STATE_FILE_VERSIONED, pData.User.UserName)
|
||||
|
||||
oResultObjectId = oNewObjectId
|
||||
|
||||
End If
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user