unit HomeScherm; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, DrieKnoppenScherm, Vcl.ActnList, DnaCodeService, AfdrukService, Vcl.StdCtrls, Images, Vcl.ExtCtrls; type TfmHomeScherm = class(TfmDrieKnoppenScherm) btnHernoemPallet: TButton; btnAfmeldenProducten: TButton; btnUitloggen: TButton; btnHerafdrukProboxInhoudEtiket: TButton; procedure actAfsluitenExecute(Sender: TObject); procedure btnAfmeldenProductenClick(Sender: TObject); procedure btnHernoemPalletClick(Sender: TObject); procedure btnUitloggenClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure btnHerafdrukProboxEtiketClick(Sender: TObject); private procedure PrintLaatsteProboxInhoudEtiket(DnaCode: String); public { Public declarations } end; var fmHomeScherm: TfmHomeScherm; implementation uses UiContext, Agent, CommonFunctions, ProScanMain; {$R *.dfm} procedure TfmHomeScherm.actAfsluitenExecute(Sender: TObject); begin inherited; PostMessage(Self.Handle,WM_Close,0,0); (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(mrLogin); end; procedure TfmHomeScherm.btnAfmeldenProductenClick(Sender: TObject); begin inherited; PostMessage(Self.Handle,WM_Close,0,0); (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(mrPallet); end; procedure TfmHomeScherm.btnHerafdrukProboxEtiketClick(Sender: TObject); var DnaCode: String; begin inherited; if UiContext.LaatsteDnaCode <> '' then begin PrintLaatsteProboxInhoudEtiket(UIContext.LaatsteDnaCode); end else begin ToonPopupScherm('Laatste DNA-code niet beschikbaar', 'OK',''); end; end; procedure TfmHomeScherm.PrintLaatsteProboxInhoudEtiket(DnaCode: String); var fZoekViaDnaCodeResponse: ZoekViaDnaCodeResponse; fZoekViaPalletCodeResponse: ZoekViaPalletCodeResponse; fProboxAfdrukkenResponse: ProboxEtiketAfdrukkenResponse; PalletCode: String; DnaCodesStringList: TStringList; DnaCodes: ArrayOfDnaCodeDnaCode; ii: integer; fAgent: TAgent; begin fAgent := TAgent.Create(UiContext); fZoekViaDnaCodeResponse := fAgent.ZoekViaDnaCode(DnaCode); fAgent.Free; try if fZoekViaDnaCodeResponse.Header.Status <> '200' then begin ToonPopupScherm(fZoekViaDnaCodeResponse.Header.Omschrijving, 'Bel planning','') end else begin PalletCode := fZoekViaDnaCodeResponse.DnaCodes.PalletCode; fAgent := TAgent.Create(UiContext); fZoekViaPalletCodeResponse := fAgent.ZoekViaPalletCode(PalletCode); fAgent.Free; try if fZoekViaPalletCodeResponse.Header.Status <> '200' then begin ToonPopupScherm(fZoekViaPalletCodeResponse.Header.Omschrijving, 'Bel planning'); end else begin DnaCodes := fZoekViaPalletCodeResponse.DnaCodes; DnaCodesStringList := TStringList.Create(); ii := 0; while ii < length(DnaCodes) do begin DnaCodesStringList.Add(DnaCodes[ii].DnaCode); ii := ii + 1; end; fAgent := TAgent.Create(UiContext); fProboxAfdrukkenResponse := fAgent.ProboxEtiketAfdrukken(DnaCodesStringList); fAgent.Free; try if fProboxAfdrukkenResponse.Header.Status <> '200' then begin ToonPopupScherm(fProboxAfdrukkenResponse.Header.Omschrijving, 'Bel planning'); end; finally fProboxAfdrukkenResponse.Free; end; end; finally fZoekViaPalletCodeResponse.Free; end; end; finally fZoekViaDnaCodeResponse.Free; end; end; procedure TfmHomeScherm.btnHernoemPalletClick(Sender: TObject); begin inherited; PostMessage(Self.Handle,WM_Close,0,0); (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(mrHernoemPallet); end; procedure TfmHomeScherm.btnUitloggenClick(Sender: TObject); begin inherited; UiContext.Toelevering := ''; UiContext.Pallet := ''; UiContext.LaatsteDnaCode := ''; PostMessage(Self.Handle,WM_Close,0,0); (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(mrLogin); end; procedure TfmHomeScherm.FormShow(Sender: TObject); begin inherited; UiContext.Toelevering := ''; UiContext.Pallet := ''; end; end.