diff --git a/VERAG_REST_SERVER/Controllers/AvisoController/AVISOController.vb b/VERAG_REST_SERVER/Controllers/AvisoController/AVISOController.vb index c5453b1..f40b152 100644 --- a/VERAG_REST_SERVER/Controllers/AvisoController/AVISOController.vb +++ b/VERAG_REST_SERVER/Controllers/AvisoController/AVISOController.vb @@ -796,6 +796,68 @@ Namespace ApiController.Controllers End Function + + + + Public Function sendCustomNotification(avisoId As Integer, sendungsId As Integer, txtTitel As String, txtMitteilung As String, code As Integer) As HttpResponseMessage + + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True + VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG + + Dim response As HttpResponseMessage + + Try + + If avisoId <= 0 Then + Return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Der Parameter 'avisoId' muss eine gültige positive Zahl sein.") + End If + + If sendungsId <= 0 Then + sendungsId = -1 + End If + + If String.IsNullOrWhiteSpace(txtTitel) Then + Return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Der Parameter 'txtTitel' darf nicht leer sein.") + End If + + If String.IsNullOrWhiteSpace(txtMitteilung) Then + Return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Der Parameter 'txtMitteilung' darf nicht leer sein.") + End If + + If code <= 0 Then + Return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Der Parameter 'code' muss eine gültige positive Zahl sein.") + End If + + + Dim avisoObjekt As cAviso = cAviso.getAvisoById(avisoId) + If avisoObjekt Is Nothing Then + Return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Das angegebene Aviso wurde nicht gefunden. ID: " & avisoId) + End If + + + Dim benachrichtigungErfolg As Boolean = cAvisoBenachrichtigungen.send_BENACHRICHTIGUNG_AKTIV_AVISOUSER( + avisoId, + sendungsId, + txtTitel, + txtMitteilung, + code, + avisoObjekt.FIRMA + ) + + If benachrichtigungErfolg Then + response = Request.CreateResponse(HttpStatusCode.OK, "Die Benachrichtigung wurde erfolgreich gesendet.") + Else + response = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Die Benachrichtigung konnte nicht gesendet werden.") + End If + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine, System.Reflection.MethodInfo.GetCurrentMethod.Name) + response = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Ein unerwarteter Fehler ist aufgetreten: " & ex.Message) + End Try + + Return response + End Function + End Class