Imports IntraSell_DLL
Imports IntraSell_Net_Base

Public Class ReminderListener

    Public Sub Init()
        WriteLog("ReminderListener.Init")
        AddHandler ModuleGlobal.CommandRequestEvent, AddressOf OnReminder
    End Sub

    Public Sub Destroy()
        WriteLog("ReminderListener.Destroy")
        RemoveHandler ModuleGlobal.CommandRequestEvent, AddressOf OnReminder
    End Sub

    Private Sub OnReminder(cmd As IntraSellCommand)
        Try
            WriteDebug("OnReminder cmd " & cmd.Serialize)
            Dim istWebOrderAktiv As Boolean = VarValue_Default("WEBORDER_AKTIV", "false")
            If Not istWebOrderAktiv Then
                WriteLog("WebOrder ist NICHT Aktiv. Keine Nachricht! " & cmd.Serialize)
                Return
            End If

            If TypeOf (cmd) Is IntraSellOrderReminderCommand Then
                Dim c = CType(cmd, IntraSellOrderReminderCommand)
                Dim vorgInBearb = LadeVorgang(c.Typ, c.Nummer)
                Dim nachricht = ModuleSMS.ErstelleSMSEmailNachricht(vorgInBearb, VorlageName:=VORLAGE_VORGANG_SMS_REMINDER)
                Dim reminderTyp = c.ReminderTyp

                If nachricht IsNot Nothing Then
                    nachricht.Nachricht += vbNewLine & "::" & reminderTyp
                    Dim ergebnisNachricht = SendSync(nachricht)
                    ModuleAnrufe.AnrufProtokollieren(vorgInBearb.KundNr, nachricht.Nachricht, "Reminder")
                End If
            End If
        Catch ex As Exception
            HandleAppError(ex, "Fehler in OnReminder", Silent:=True)
        End Try
    End Sub

End Class
