EDMI: Add GetAccessRight, Add Init Jobs for EDMIService

This commit is contained in:
Jonathan Jenne
2020-12-22 15:34:57 +01:00
parent 91d769d6b9
commit 2800169251
12 changed files with 319 additions and 125 deletions

View File

@@ -3,9 +3,12 @@ Imports DigitalData.Modules.Language
Imports DigitalData.Modules.EDMI.API.Rights
Namespace Messages
<DataContract>
<Serializable>
Public Class AccessRightResult
Inherits BaseResult
<DataMember>
Public Property Right As AccessRight = AccessRight.VIEW_ONLY
Public Sub New(AccessRight As AccessRight)

View File

@@ -52,26 +52,49 @@ Public Class Scheduler
Dim oTitle As String = oRow.Item("TITLE")
Dim oGuid As Integer = oRow.Item("GUID")
Dim oTrigger As ITrigger
Dim oCronTrigger As ITrigger
Dim oInitTrigger As ITrigger
Dim oJob As IJobDetail
Dim oInitJob As IJobDetail
Dim oJobData As New JobDataMap From {
{"LogConfig", _LogConfig},
{"MSSQL", _MSSQL},
{"CronJobId", oGuid},
{"CronJobTitle", oTitle}
}
Dim oIdentity As String = $"CRON-JOB-{oGuid}"
oTrigger = TriggerBuilder.Create().
WithIdentity(oIdentity, JOB_GROUP).
oCronTrigger = TriggerBuilder.Create().
WithIdentity(oIdentity & "-TRIGGER", JOB_GROUP).
WithCronSchedule(oDefinition).
Build()
oJob = JobBuilder.Create(Of DatatableJob)().
WithIdentity(oIdentity, JOB_GROUP).
UsingJobData(New JobDataMap From {
{"LogConfig", _LogConfig},
{"MSSQL", _MSSQL},
{"CronJobId", oGuid},
{"CronJobTitle", oTitle}
}).
UsingJobData(oJobData).
Build()
Await _Scheduler.ScheduleJob(oJob, oTrigger)
Await _Scheduler.ScheduleJob(oJob, oCronTrigger)
' Also create variant of the job that runs immediately, once
Dim oInitIdentity As String = $"CRON-JOB-INIT-{oGuid}"
oInitTrigger = TriggerBuilder.Create().
WithIdentity(oInitIdentity & "-TRIGGER", JOB_GROUP).
StartNow().
Build()
oInitJob = JobBuilder.Create(Of DatatableJob)().
WithIdentity(oInitIdentity, JOB_GROUP).
UsingJobData(oJobData).
Build()
Await _Scheduler.ScheduleJob(oInitJob, oInitTrigger)
_Logger.Debug("Scheduled a new job for Cron Job [{0}]", oTitle)
Next
Else
@@ -83,6 +106,9 @@ Public Class Scheduler
End Try
End Sub
Public Async Function GetCronJobs() As Task(Of DataTable)
Try
Dim oSQL As String = "SELECT * FROM TBAPPSERV_CRON_JOB WHERE ACTIVE = 1"