Varela_PuntosVenta/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.pas

132 lines
3.5 KiB
ObjectPascal

unit uDataModuleRecepciones;
interface
uses {vcl:} SysUtils, Classes, DB, DBClient,
{RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uDABINAdapter, uDataModuleBase, uROClient,
uROServiceComponent, uRORemoteService, uBizRecepciones, uDARemoteDataAdapter,
uDAInterfaces;
type
TdmRecepciones = class(TDAClientDataModule)
RORemoteService: TRORemoteService;
tbl_Recepciones: TDACDSDataTable;
ds_Recepciones: TDADataSource;
tbl_RecepcionesAprobadas: TDACDSDataTable;
ds_RecepcionesAprobadas: TDADataSource;
tbl_RecepcionesPendientes: TDACDSDataTable;
ds_RecepcionesPendientes: TDADataSource;
tbl_RecepcionesAlbaran: TDACDSDataTable;
ds_RecepcionesAlbaran: TDADataSource;
DARemoteDataAdapter: TDARemoteDataAdapter;
procedure DAClientDataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
function GetItems : IBizRecepciones; overload;
function GetItems(const AEstado : TInvRecepcionEstado) : IBizRecepciones; overload;
function GetItemsAlbaran : IBizRecepcionesAlbaran; overload;
function GetItemsAlbaran(const AEstado : TInvRecepcionAlbaranEstado) : IBizRecepcionesAlbaran; overload;
end;
var
dmRecepciones: TdmRecepciones;
implementation
{$R *.DFM}
uses
Forms, Windows, Controls, VARELA_Intf, uEditorPreview,
uDataTableUtils, uROTypes, cxControls;
procedure TdmRecepciones.DAClientDataModuleCreate(Sender: TObject);
begin
RORemoteService.Channel := dmBase.Channel;
RORemoteService.Message := dmBase.Message;
end;
function TdmRecepciones.GetItems: IBizRecepciones;
var
dtLista: TDACDSDataTable;
begin
ShowHourglassCursor;
try
dtLista := TDACDSDataTable.Create(NIL);
CloneDataTable(tbl_Recepciones, dtLista);
dtLista.BusinessRulesID := BIZ_RECEPCIONES;
Result := (dtLista as IBizRecepciones);
finally
HideHourglassCursor;
end;
end;
function TdmRecepciones.GetItems(
const AEstado: TInvRecepcionEstado): IBizRecepciones;
var
dtLista: TDACDSDataTable;
begin
ShowHourglassCursor;
try
dtLista := TDACDSDataTable.Create(NIL);
case AEstado of
tirPendiente : CloneDataTable(tbl_RecepcionesPendientes, dtLista);
tirAprobado : CloneDataTable(tbl_RecepcionesAprobadas, dtLista);
end;
dtLista.BusinessRulesID := BIZ_RECEPCIONES;
Result := (dtLista as IBizRecepciones);
finally
HideHourglassCursor;
end;
end;
function TdmRecepciones.GetItemsAlbaran: IBizRecepcionesAlbaran;
var
dtLista: TDACDSDataTable;
begin
ShowHourglassCursor;
try
dtLista := TDACDSDataTable.Create(NIL);
CloneDataTable(tbl_RecepcionesAlbaran, dtLista);
dtLista.BusinessRulesID := BIZ_RECEPCIONESALBARAN;
Result := (dtLista as IBizRecepcionesAlbaran);
finally
HideHourglassCursor;
end;
end;
function TdmRecepciones.GetItemsAlbaran(const AEstado: TInvRecepcionAlbaranEstado): IBizRecepcionesAlbaran;
var
dtLista: IBizRecepcionesAlbaran;
begin
ShowHourglassCursor;
try
dtLista := GetItemsAlbaran;
with dtLista.DataTable.Where do
begin
Clear;
case AEstado of
tiraPendiente : AddCondition('ESTADOALBARAN', cEqual, 'P');
tiraRecibido : AddCondition('ESTADOALBARAN', cEqual, 'R');
end;
end;
Result := dtLista;
finally
HideHourglassCursor;
end;
end;
initialization
dmRecepciones := TdmRecepciones.Create(nil);
finalization
FreeAndNil(dmRecepciones);
end.