Index: WSimpl/Halux/AAP/DnaCodeService.cls.xml
===================================================================
diff -u -r55685 -r55687
--- WSimpl/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 55685)
+++ WSimpl/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 55687)
@@ -143,24 +143,34 @@
} Else {
#dim DnaCode As DOM.Halux.AAP.DnaCode = DnaCodeIterator.Next()
- Set DnaCode.InitialenScanner = DnaCodeAfmeldenRequest.Header.Initialen
- Set DnaCode.PalletCode = DnaCodeAfmeldenRequest.PalletCode
-
- Set ToeleveringId = DnaCode.Toelevering
-
- Do ..DnaCodeRepository.Bewaar(DnaCode)
-
- Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringId(ToeleveringId)
-
- If DnaCodeIterator.HasNext() {
- Set Response.Header.Status = "200"
- While DnaCodeIterator.HasNext() {
- Do ##class(Tools.Wlip).%New(127).String("radaa")
- Do Response.DnaCodes.Insert(..DnaCodeNaarDto(DnaCodeIterator.Next()))
- }
+ If ($$$HasLength(DnaCodeAfmeldenRequest.Toelevering) && $$$Not(DnaCode.Toelevering = DnaCodeAfmeldenRequest.Toelevering)) {
+ Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).InvalidInput()
+ Set Response.Header.Omschrijving = "Toeleveringen verschillend: '"_DnaCodeAfmeldenRequest.Toelevering_"' en '"_DnaCode.Toelevering_"'"
} Else {
- Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound()
- Set Response.Header.Omschrijving = "Geen data gevonden voor DNACode '"_ToeleveringId_"'"
+ If $$$HasLength(DnaCode.PalletCode) {
+ Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).InvalidInput()
+ Set Response.Header.Omschrijving = "PalletCode reeds ingevuld voor '"_DnaCodeAfmeldenRequest.DnaCode_"' ("_DnaCode.PalletCode_")"
+ } Else {
+
+ Set DnaCode.InitialenScanner = DnaCodeAfmeldenRequest.Header.Initialen
+ Set DnaCode.PalletCode = DnaCodeAfmeldenRequest.PalletCode
+
+ Set ToeleveringId = DnaCode.Toelevering
+
+ Do ..DnaCodeRepository.Bewaar(DnaCode)
+
+ Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringId(ToeleveringId)
+
+ If DnaCodeIterator.HasNext() {
+ Set Response.Header.Status = "200"
+ While DnaCodeIterator.HasNext() {
+ Do Response.DnaCodes.Insert(..DnaCodeNaarDto(DnaCodeIterator.Next()))
+ }
+ } Else {
+ Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound()
+ Set Response.Header.Omschrijving = "Geen data gevonden voor DNACode '"_ToeleveringId_"'"
+ }
+ }
}
}
} Catch {
Index: vhUnitTest/WSimpl/Halux/AAP/DnaCodeService/DnaCodeAfmelden/Test.cls.xml
===================================================================
diff -u -r55686 -r55687
--- vhUnitTest/WSimpl/Halux/AAP/DnaCodeService/DnaCodeAfmelden/Test.cls.xml (.../Test.cls.xml) (revision 55686)
+++ vhUnitTest/WSimpl/Halux/AAP/DnaCodeService/DnaCodeAfmelden/Test.cls.xml (.../Test.cls.xml) (revision 55687)
@@ -43,6 +43,7 @@
Set DnaCodeRepositoryMock = ##class(vhTest.Mock.DOM.Halux.AAP.DnaCodeRepository).%New()
Do DnaCodeRepositoryMock.IndienMethodCall("ZoekViaDnaCode",Request.DnaCode).DanReturn(..EmptyIterator())
+ Do DnaCodeRepositoryMock.VerwachtMethodCall("Bewaar",$$$ElkeWaarde).ExactAantalKeer(0)
Set DnaCodeService = ##class(WSimpl.Halux.AAP.DnaCodeService).%New(HeaderValidatorMock, DnaCodeRepositoryMock)
@@ -51,13 +52,62 @@
Do $$$AssertEquals(Antwoord.Header.Status,##class(TECH.enu.ExceptionCode).DataNotFound())
Do $$$AssertEquals(Antwoord.DnaCodes.Count(),0)
Do HeaderValidatorMock.Verifieer()
+ Do DnaCodeRepositoryMock.Verifieer()
]]>
+
-
+
+