Varela_PuntosVenta/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.pas
2008-04-15 09:28:58 +00:00

140 lines
4.4 KiB
ObjectPascal
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit uDataModuleReferenciaGenerica;
interface
uses {vcl:} SysUtils, Classes, DB, DBClient,
{RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService,
uROClient, uROBinMessage, uROWinInetHttpChannel, uDMBase,
uBizReferenciaGenerica, uDARemoteDataAdapter, uDAInterfaces, uDADataStreamer;
type
TdmReferenciaGenerica = class(TDAClientDataModule)
RORemoteService: TRORemoteService;
ds_ReferenciaGenerica: TDADataSource;
DARemoteDataAdapter: TDARemoteDataAdapter;
DABinDataStreamer1: TDABinDataStreamer;
tbl_ReferenciaGenerica: TDACDSDataTable;
procedure DAClientDataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
procedure Print(const Centro: string; const Vendedor : String; const Estado : String; const AFiltro : string = '');
procedure Preview(const Centro: string; const Vendedor : String; const Estado : String; const AFiltro : string = '');
function GetItems : IBizReferenciaGenerica;
function GetProducto(const Codigo: String; const Talla: String;
const Color: String; out CodigoBarras: String; out Descripcion: String): Boolean;
function GetSelectedItems(const AItems : IBizReferenciaGenerica): IBizReferenciaGenerica;
end;
var
dmReferenciaGenerica: TdmReferenciaGenerica;
implementation
{$R *.DFM}
uses
Forms, Windows, Controls, VARELA_Intf, uEditorPreview,
uDataTableUtils, uROTypes, cxControls;
procedure TdmReferenciaGenerica.DAClientDataModuleCreate(Sender: TObject);
begin
RORemoteService.Channel := dmBase.Channel;
RORemoteService.Message := dmBase.Message;
end;
function TdmReferenciaGenerica.GetItems: IBizReferenciaGenerica;
var
dtLista: TDACDSDataTable;
begin
ShowHourglassCursor;
try
dtLista := TDACDSDataTable.Create(NIL);
CloneDataTable(tbl_ReferenciaGenerica, dtLista);
dtLista.BusinessRulesID := BIZ_REFERENCIAGENERICA;
Result := (dtLista as IBizReferenciaGenerica);
finally
HideHourglassCursor;
end;
end;
function TdmReferenciaGenerica.GetProducto(const Codigo, Talla,
Color: String; out CodigoBarras, Descripcion: String): Boolean;
begin
Result := (RORemoteService as IsrvReferenciaGenerica).GetProducto(Codigo,
Talla, Color, CodigoBarras, Descripcion);
end;
function TdmReferenciaGenerica.GetSelectedItems(
const AItems: IBizReferenciaGenerica): IBizReferenciaGenerica;
var
dtLista : TDACDSDataTable;
ATarget : TDADataTable;
begin
ShowHourglassCursor;
try
dtLista := TDACDSDataTable.Create(NIL);
CloneDataTable(tbl_ReferenciaGenerica, dtLista, False);
CopyDataTable(AItems.DataTable, dtLista, True);
dtLista.BusinessRulesID := BIZ_REFERENCIAGENERICA;
dtLista.LogChanges := True; // Para guardar los cambios
dtLista.RemoteFetchEnabled := True; // Para guardar los cambios
Result := (dtLista as IBizReferenciaGenerica);
finally
HideHourglassCursor;
end;
end;
procedure TdmReferenciaGenerica.Preview(const Centro, Vendedor: String; const Estado : String;
const AFiltro : String);
var
AStream: TROBinaryMemoryStream;
AEditorPreview : TfEditorPreview;
begin
AEditorPreview := TfEditorPreview.Create(Application);
try
ShowHourglassCursor;
try
AStream := (RORemoteService as IsrvReferenciaGenerica).GenerateReport(Centro, Vendedor, Estado, AFiltro);
AEditorPreview.Report.PreviewPages.LoadFromStream(AStream);
finally
HideHourglassCursor;
end;
AEditorPreview.ShowModal;
finally
AEditorPreview.Release;
AStream.Free;
end;
end;
procedure TdmReferenciaGenerica.Print(const Centro, Vendedor: String; const Estado : String;
const AFiltro : String);
var
AStream: TROBinaryMemoryStream;
AEditorPreview : TfEditorPreview;
begin
AEditorPreview := TfEditorPreview.Create(Application);
try
ShowHourglassCursor;
try
AStream := (RORemoteService as IsrvReferenciaGenerica).GenerateReport(Centro, Vendedor, Estado, AFiltro);
AEditorPreview.Report.PreviewPages.LoadFromStream(AStream);
finally
HideHourglassCursor;
end;
AEditorPreview.Print;
finally
AEditorPreview.Release;
AStream.Free;
end;
end;
initialization
dmReferenciaGenerica := TdmReferenciaGenerica.Create(nil);
finalization
FreeAndNil(dmReferenciaGenerica);
end.