Index: AAPClient/UI/DnaCodeScherm.pas =================================================================== diff -u -r80 -r82 --- AAPClient/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 80) +++ AAPClient/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 82) @@ -5,7 +5,7 @@ uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, DrieKnoppenScherm, Vcl.ActnList, - Vcl.StdCtrls, Vcl.ExtCtrls; + Vcl.StdCtrls, DnaCodeService, Vcl.ExtCtrls; type TfmDnaCodeScherm = class(TfmDrieKnoppenScherm) @@ -28,6 +28,7 @@ procedure edtDnaCodeKeyPress(Sender: TObject; var Key: Char); private procedure MeldDnaCodeAf(); + procedure ZetToeleveringStatus(Status: DnaCodeStatus); public function GeefToelevering: String; end; @@ -38,7 +39,7 @@ implementation uses - DnaCodeService, UiContext; + UiContext; {$R *.dfm} @@ -55,12 +56,24 @@ end; procedure TfmDnaCodeScherm.actVolgendeExecute(Sender: TObject); +var + fWaarschuwingModalResult: TModalResult; begin inherited; if lblAantalGescand.Caption = lblTotaalAantal.Caption then begin ShowMessage('toelev compl'); end else begin - ShowMessage('toelev niet compl'); + fWaarschuwingModalResult := ToonPopupScherm('Onvolledige toelevering','Scan DNA-codes','Nieuwe toelevering'); + if fWaarschuwingModalResult = mrOk then begin + Self.ModalResult := mrDnaCode; + end else begin + fWaarschuwingModalResult := ToonPopupScherm('Nieuwe toelevering starten?','Ja','Nee'); + if fWaarschuwingModalResult = mrOk then begin + ZetToeleveringStatus(DnaCodeStatus.OnHold); + Self.ModalResult := mrPallet; + end; + end; + end; end; @@ -144,4 +157,38 @@ end; end; +procedure TfmDnaCodeScherm.ZetToeleveringStatus(Status: DnaCodeStatus); +var + Service: DnaCodeServiceSoap; + Request: ToeleveringBijwerkenRequest; + Response: ToeleveringBijwerkenResponse; + Header: RequestHeader; +begin + Service := DnaCodeService.GetDnaCodeServiceSoap(); + // request opbouwen + Request := ToeleveringBijwerkenRequest.Create; + Header := RequestHeader.Create; + try + Header.Initialen := UiContext.Initialen; + Header.ComputerNaam := ComputerName(); + Request.Header := Header; + Request.Toelevering := UiContext.Toelevering; + Request.Status := Status; + + Response := Service.ToeleveringBijwerken(Request); + try + if Response.Header.Status <> '200' then begin + Self.ModalResult := mrDnaCode; + ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') + end else begin + Self.ModalResult := mrPallet; + end; + finally + Response.Free; + end; + finally + Request.Free; + end; +end; + end.