Varela_PuntosVenta/Source/Modulos/VentasTerminadas/Reglas/uBizVentasTerminadas.pas

159 lines
4.9 KiB
ObjectPascal
Raw Blame History

unit uBizVentasTerminadas;
interface
uses
Classes, DB, SysUtils, uROClasses, uDADataTable, uDAInterfaces,
DataAbstract3_Intf, uROTypes, schVentasTerminadasClient_Intf;
const
BIZ_VENTASTERMINADAS = 'Client.VentasTerminadas';
BIZ_RESUMENVENTAS = 'Client.ResumenVentas';
type
IBizVentasTerminadas = interface(IVentasTerminadas)
['{A8E22BA0-970A-461D-8C69-E3C37F099F76}']
function GetVisibleColumns: String;
procedure SetVisibleColumns(const Value: String);
property VisibleColumns : String read GetVisibleColumns write SetVisibleColumns;
end;
IBizResumenVentas = interface(IVentasTerminadasCrossTab)
['{F7536368-285D-45B4-B0F0-7DBE724982A3}']
end;
TBizResumenVentasDataTableRules = class(TVentasTerminadasCrossTabDataTableRules, IBizResumenVentas)
protected
procedure OnBeforeDataRequestCall(DataTable: TDADataTable; Request: TDARemoteRequest);
procedure OnBeforeSchemaCall(DataTable: TDADataTable; Request: TDARemoteRequest);
public
constructor Create(aDataTable: TDADataTable); override;
end;
TBizVentasTerminadasDataTableRules = class(TVentasTerminadasDataTableRules, IBizVentasTerminadas)
private
FVisibleColumns : String;
FDateParams : TDADatasetParamArray;
protected
function GetVisibleColumns: String;
procedure SetVisibleColumns(const Value: String);
procedure OnBeforeDataRequestCall(DataTable: TDADataTable;
Request: TDARemoteRequest);
procedure OnBeforeSchemaCall(DataTable: TDADataTable;
Request: TDARemoteRequest);
public
constructor Create(aDataTable: TDADataTable); override;
property VisibleColumns : String read GetVisibleColumns write SetVisibleColumns;
destructor Destroy; override;
end;
implementation
{ TBIZ_VENTASDataTableRules }
uses
Dialogs, uEditorUtils, uDataModuleVentasTerminadas;
constructor TBizVentasTerminadasDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
FDateParams := TDADatasetParamArray.Create;
if Assigned(DataTable) then
begin
DataTable.OnBeforeDataRequestCall := OnBeforeDataRequestCall;
DataTable.OnBeforeSchemaCall := OnBeforeSchemaCall;
end;
end;
destructor TBizVentasTerminadasDataTableRules.Destroy;
begin
FreeAndNIL(FDateParams);
inherited;
end;
function TBizVentasTerminadasDataTableRules.GetVisibleColumns: String;
begin
if Length(FVisibleColumns) = 0 then
FVisibleColumns := dmVentasTerminadas.GetNameColumns;
Result := FVisibleColumns
end;
procedure TBizVentasTerminadasDataTableRules.OnBeforeDataRequestCall(
DataTable: TDADataTable; Request: TDARemoteRequest);
var
params : TStringList;
begin
Request.ParamByName('Columns').AsString := VisibleColumns;
// Begin adaptaci<63>n a DA5
params := TStringList.Create;
try
params.Add('FECHAINI');
params.Values['FECHAINI'] := DataTable.ParamByName('FECHAINI').AsString;
params.Add('FECHAFIN');
params.Values['FECHAFIN'] := DataTable.ParamByName('FECHAFIN').AsString;
Request.ParamByName('Params').AsString := params.text;
finally
FreeAndNIL(params);
end;
// End adaptaci<63>n a DA5
{ FDateParams.Clear;
NewDatasetParam(FDateParams, 'FECHAINI', DataTable.ParamByName('FECHAINI').AsDateTime);
NewDatasetParam(FDateParams, 'FECHAFIN', DataTable.ParamByName('FECHAFIN').AsDateTime);
Request.ParamByName('Params').AsComplexType := FDateParams;}
end;
procedure TBizVentasTerminadasDataTableRules.OnBeforeSchemaCall(
DataTable: TDADataTable; Request: TDARemoteRequest);
begin
Request.ParamByName('Columns').AsString := VisibleColumns;
end;
procedure TBizVentasTerminadasDataTableRules.SetVisibleColumns(const Value: String);
begin
if Length(Value) > 0 then
FVisibleColumns := Value
else
FVisibleColumns := dmVentasTerminadas.GetNameColumns;
end;
{ TBizResumenVentasDataTableRules }
constructor TBizResumenVentasDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
if Assigned(DataTable) then
begin
DataTable.OnBeforeDataRequestCall := OnBeforeDataRequestCall;
DataTable.OnBeforeSchemaCall := OnBeforeSchemaCall;
end;
end;
procedure TBizResumenVentasDataTableRules.OnBeforeDataRequestCall(DataTable: TDADataTable; Request: TDARemoteRequest);
begin
Request.ParamByName('FechaIni').AsString := DataTable.ParamByName('FechaIni').AsString;
Request.ParamByName('FechaFin').AsString := DataTable.ParamByName('FechaFin').AsString;
end;
procedure TBizResumenVentasDataTableRules.OnBeforeSchemaCall(
DataTable: TDADataTable; Request: TDARemoteRequest);
begin
Request.ParamByName('FechaIni').AsString := DataTable.ParamByName('FechaIni').AsString;
Request.ParamByName('FechaFin').AsString := DataTable.ParamByName('FechaFin').AsString;
end;
initialization
RegisterDataTableRules(BIZ_VENTASTERMINADAS, TBizVentasTerminadasDataTableRules);
RegisterDataTableRules(BIZ_RESUMENVENTAS, TBizResumenVentasDataTableRules);
finalization
end.