Index: WSimpl/Vhisie4/Winkelkar/WinkelkarService/VerwijderLijn.cls.xml
===================================================================
diff -u -r50446 -r54004
--- WSimpl/Vhisie4/Winkelkar/WinkelkarService/VerwijderLijn.cls.xml (.../VerwijderLijn.cls.xml) (revision 50446)
+++ WSimpl/Vhisie4/Winkelkar/WinkelkarService/VerwijderLijn.cls.xml (.../VerwijderLijn.cls.xml) (revision 54004)
@@ -18,8 +18,13 @@
1
+
+vhLib.Logger
+1
+
+
-WinkelkarService:APPS.EC.Winkelkar.impl.WinkelkarService,WinkelkarRepository:WSimpl.Vhisie4.Winkelkar.WinkelkarRepository,LijnRepository:WSimpl.Vhisie4.Winkelkar.WinkelkarLijnRepository
+WinkelkarService:APPS.EC.Winkelkar.impl.WinkelkarService,WinkelkarRepository:WSimpl.Vhisie4.Winkelkar.WinkelkarRepository,LijnRepository:WSimpl.Vhisie4.Winkelkar.WinkelkarLijnRepository,Logger:vhLib.Logger
1
1
%Status
@@ -28,6 +33,8 @@
Set ..WinkelkarService = $$$Inject(WinkelkarService, ##class(APPS.EC.Winkelkar.impl.WinkelkarService).%New())
Set ..WinkelkarRepository = $$$Inject(WinkelkarRepository,##class(WSimpl.Vhisie4.Winkelkar.WinkelkarRepository).%New())
Set ..LijnRepository = $$$Inject(LijnRepository, ##class(WSimpl.Vhisie4.Winkelkar.WinkelkarLijnRepository).%New())
+ Set ..Logger = $$$Inject(Logger, ##class(vhLib.Logger).%New())
+
Quit $$$OK
]]>
@@ -38,27 +45,37 @@
Lock +^Vhisie4.Winkelkar(VerwijderLijnRequest.WinkelkarId, VerwijderLijnRequest.LijnId):0 Else Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.LockedException).%New("Winkelkar '" _VerwijderLijnRequest.WinkelkarId _"' is gelocked door een andere webservice call. Probeer later opnieuw."))
Try {
-
- Do ..ControleerExterneLijnId(VerwijderLijnRequest.WinkelkarId, VerwijderLijnRequest.LijnId)
-
- #dim WinkelkarID As %String = ..WinkelkarRepository.GeefWinkelkarIDViaID(VerwijderLijnRequest.WinkelkarId)
- #dim LijnID As %String = ..LijnRepository.GeefLijnIDViaID(VerwijderLijnRequest.LijnId)
+ If $$$Not(..LijnRepository.BestaatViaID(VerwijderLijnRequest.LijnId)) {
+ ; als de lijn niet bestaat, kunnen we daar niet veel aan doen. ITR wilt ze verwijderen, en ze bestaat bij ons al niet meer. -> geen error smijten, alleen loggen
+ #dim Melding As %String = ##class(TECH.StringUtils).BuildText("Winkelkarlijn met ExterneId '{0}' van Winkelkar met ExterneId '{1}', bestaat niet!",VerwijderLijnRequest.LijnId, VerwijderLijnRequest.WinkelkarId)
+ Set Melding = Melding _ $$$CRLF _ "Geen actie nodig, OV wordt verwittigd indien nodig bij de bestelwinkelkar indien ITR winkelkar niet overeenkomt met Cache"
+ Do ..Logger.Error("VerwijderWinkelkarLijn",Melding)
+ } else {
+ #dim WinkelkarID As %String = ..WinkelkarRepository.GeefWinkelkarIDViaID(VerwijderLijnRequest.WinkelkarId)
+ #dim LijnID As %String = ..LijnRepository.GeefLijnIDViaID(VerwijderLijnRequest.LijnId)
- if $$$Not(##class(TECH.StringUtils).StartsWith(LijnID,WinkelkarID)) {
- Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Winkelkarlijn met id '" _ VerwijderLijnRequest.LijnId _ "' behoort niet tot winkelkar met id '" _ VerwijderLijnRequest.WinkelkarId_"'"))
- }
+ if $$$Not(##class(TECH.StringUtils).StartsWith(LijnID,WinkelkarID)) {
+ Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Winkelkarlijn met id '" _ VerwijderLijnRequest.LijnId _ "' behoort niet tot winkelkar met id '" _ VerwijderLijnRequest.WinkelkarId_"'"))
+ }
- Do ..WinkelkarService.VerwijderLijn(WinkelkarID, LijnID)
+ Do ..WinkelkarService.VerwijderLijn(WinkelkarID, LijnID)
+ }
} Catch {
Lock -^Vhisie4.Winkelkar(VerwijderLijnRequest.WinkelkarId,VerwijderLijnRequest.LijnId)
- Do ##class(TECH.ExceptionHandler).Rethrow()
+
+ #dim Exception as TECH.IException = ##class(TECH.ExceptionHandler).Catch()
+ if $$$Not(Exception.%ClassName(1) = ##class(TECH.Exceptions.DataNotFoundException).%ClassName(1)) {
+ Do ##class(TECH.ExceptionHandler).Rethrow(Exception)
+ }
+
+
}
Lock -^Vhisie4.Winkelkar(VerwijderLijnRequest.WinkelkarId,VerwijderLijnRequest.LijnId)
]]>
-
+
ExternId:%String,ExterneLijnId:%String
1
-
+