96 lines
2.4 KiB
Plaintext
96 lines
2.4 KiB
Plaintext
unit fOrdersComplete;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
fAutoSz, StdCtrls, ORFn, ORCtrls;
|
|
|
|
type
|
|
TfrmCompleteOrders = class(TfrmAutoSz)
|
|
Label1: TLabel;
|
|
lstOrders: TCaptionListBox;
|
|
cmdOK: TButton;
|
|
cmdCancel: TButton;
|
|
lblESCode: TLabel;
|
|
txtESCode: TCaptionEdit;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure cmdOKClick(Sender: TObject);
|
|
procedure cmdCancelClick(Sender: TObject);
|
|
private
|
|
OKPressed: Boolean;
|
|
ESCode: string;
|
|
end;
|
|
|
|
function ExecuteCompleteOrders(SelectedList: TList): Boolean;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses Hash, rCore, rOrders;
|
|
|
|
function ExecuteCompleteOrders(SelectedList: TList): Boolean;
|
|
var
|
|
frmCompleteOrders: TfrmCompleteOrders;
|
|
i: Integer;
|
|
begin
|
|
Result := False;
|
|
if SelectedList.Count = 0 then Exit;
|
|
frmCompleteOrders := TfrmCompleteOrders.Create(Application);
|
|
try
|
|
ResizeFormToFont(TForm(frmCompleteOrders));
|
|
with SelectedList do for i := 0 to Count - 1 do
|
|
frmCompleteOrders.lstOrders.Items.Add(TOrder(Items[i]).Text);
|
|
frmCompleteOrders.ShowModal;
|
|
if frmCompleteOrders.OKPressed then
|
|
begin
|
|
with SelectedList do
|
|
for i := 0 to Count - 1 do CompleteOrder(TOrder(Items[i]), frmCompleteOrders.ESCode);
|
|
Result := True;
|
|
end;
|
|
finally
|
|
frmCompleteOrders.Release;
|
|
with SelectedList do for i := 0 to Count - 1 do UnlockOrder(TOrder(Items[i]).ID);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmCompleteOrders.FormCreate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
OKPressed := False;
|
|
end;
|
|
|
|
procedure TfrmCompleteOrders.cmdOKClick(Sender: TObject);
|
|
const
|
|
TX_NO_CODE = 'An electronic signature code must be entered to complete orders.';
|
|
TC_NO_CODE = 'Electronic Signature Code Required';
|
|
TX_BAD_CODE = 'The electronic signature code entered is not valid.';
|
|
TC_BAD_CODE = 'Invalid Electronic Signature Code';
|
|
begin
|
|
inherited;
|
|
if Length(txtESCode.Text) = 0 then
|
|
begin
|
|
InfoBox(TX_NO_CODE, TC_NO_CODE, MB_OK);
|
|
Exit;
|
|
end;
|
|
if not ValidESCode(txtESCode.Text) then
|
|
begin
|
|
InfoBox(TX_BAD_CODE, TC_BAD_CODE, MB_OK);
|
|
txtESCode.SetFocus;
|
|
txtESCode.SelectAll;
|
|
Exit;
|
|
end;
|
|
ESCode := Encrypt(txtESCode.Text);
|
|
OKPressed := True;
|
|
Close;
|
|
end;
|
|
|
|
procedure TfrmCompleteOrders.cmdCancelClick(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
Close;
|
|
end;
|
|
|
|
end.
|