Index: AAPClient/UI/PalletScherm.pas =================================================================== diff -u -r32 -r35 --- AAPClient/UI/PalletScherm.pas (.../PalletScherm.pas) (revision 32) +++ AAPClient/UI/PalletScherm.pas (.../PalletScherm.pas) (revision 35) @@ -41,34 +41,66 @@ procedure TfmPalletScherm.actVolgendeExecute(Sender: TObject); var Service: DnaCodeServiceSoap; - Request: ValideerPalletCodeRequest; - Response: ValideerPalletCodeResponse; + fValideerPalletCodeRequest: ValideerPalletCodeRequest; + fValideerPalletCodeResponse: ValideerPalletCodeResponse; Header: RequestHeader; + fZoekViaPalletCodeRequest: ZoekViaPalletCodeRequest; + fZoekViaPalletCodeResponse: ZoekViaPalletCodeResponse; begin Service := DnaCodeService.GetDnaCodeServiceSoap(); - // request opbouwen - Request := ValideerPalletCodeRequest.Create; + + // pallet code valideren + fValideerPalletCodeRequest := ValideerPalletCodeRequest.Create; Header := RequestHeader.Create; try Header.Initialen := lblGebruiker.Caption; Header.ComputerNaam := ComputerName(); - Request.Header := Header; - Request.PalletCode := edtPallet.Text; + fValideerPalletCodeRequest.Header := Header; + fValideerPalletCodeRequest.PalletCode := edtPallet.Text; - Response := Service.ValideerPalletCode(Request); + fValideerPalletCodeResponse := Service.ValideerPalletCode(fValideerPalletCodeRequest); try - if Response.Header.Status <> '200' then begin + if fValideerPalletCodeResponse.Header.Status <> '200' then begin Self.ModalResult := mrRetry; - ToonPopupScherm(Response.Header.Omschrijving, 'Scan opnieuw') + ToonPopupScherm(fValideerPalletCodeResponse.Header.Omschrijving, 'Scan opnieuw') end else begin Self.ModalResult := mrOk; end; finally - Response.Free; + fValideerPalletCodeResponse.Free; end; finally - Request.Free; + fValideerPalletCodeRequest.Free; end; + + //checken of pallet in gebruik is indien het vorige geslaagd is + if Self.ModalResult = mrOk then begin + fZoekViaPalletCodeRequest := ZoekViaPalletCodeRequest.Create; + Header := RequestHeader.Create; + try + Header.Initialen := lblGebruiker.Caption; + Header.ComputerNaam := ComputerName(); + fZoekViaPalletCodeRequest.Header := Header; + fZoekViaPalletCodeRequest.PalletCode := edtPallet.Text; + + fZoekViaPalletCodeResponse := Service.ZoekViaPalletCode(fZoekViaPalletCodeRequest); + try + if fZoekViaPalletCodeResponse.Header.Status = '200' then begin + Self.ModalResult := mrNo; + ShowMessage('data gevonden'); + end else begin + Self.ModalResult := mrOk; + end; + finally + fZoekViaPalletCodeResponse.Free; + end; + finally + fZoekViaPalletCodeRequest.Free; + end; + + end; + + edtPallet.Text := ''; end;