VB trigger - Before update - Order headers
Imports System
Imports System.Text
Imports CoreBaseLibrary
Imports CoreBaseLibrary.Config
Imports SharedClasses
Imports CoreUtilities
Imports CoreUtilities.Enums
Imports DatabaseConstants
Imports TriggerResultEnum = CoreUtilities.Enums.TriggerResultEnum
Imports MongoDB.Bson
Public Class Triggers
Public Shared Function BeforeUpdate(ByVal p_Record As TRecord) As TriggerResultEnum
Dim statuss = ctype(p_Record.m_Fields(WORLDID&ORDERSTATUSID1234567000000189), TTField)
If statuss.Value = 1 Then
Return TriggerResultEnum.NoError
End If
Dim sqlCo As TConnection = p_Record.SqlCo
' Group 8: "Student", they get 50% off
Dim k as Int64 = 1
Dim group as Int64 = 8
Dim reductionLevel as Double = 0
If ((k << group) And sqlCo.CurrentUserGroups()) <> 0 Then
reductionLevel = 0.5
End If
' Group 7: "Internal", they get 100% off
group = 7
If ((k << group) And sqlCo.CurrentUserGroups()) <> 0 Then
reductionLevel = 1
End If
Dim totalReductionPrice = ctype(p_Record.m_Fields(WORLDID&TOTALPRICEID1234567000000189), TDField)
totalReductionPrice.Value = totalReductionPrice.Value * (1 - reductionLevel)
Return TriggerResultEnum.NoError ' no error
End Function
End Class