unit uDataModuleAlmacenes; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, uBizAlmacenes; type TdmAlmacenes = class(TDAClientDataModule) DABINAdapter: TDABINAdapter; RORemoteService: TRORemoteService; tbl_Almacenes: TDACDSDataTable; ds_Almacenes: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private public function GetItems: IBizAlmacen; function GetItem(Codigo : Integer): IBizAlmacen; procedure Preview; function PuedoEliminarAlmacen(Codigo : Integer) : Boolean; end; var dmAlmacenes: TdmAlmacenes; implementation {$R *.DFM} uses Controls, Forms, uDAInterfaces, DataAbstract_Intf, FactuGES_Intf, uDataTableUtils, uROTypes, uEditorPreview, Dialogs, schAlmacenesClient_Intf, uDataModuleBase, uDBSelectionList; const MAX_RECORDS = 100; procedure TdmAlmacenes.DAClientDataModuleCreate(Sender: TObject); begin RORemoteService.Channel := dmBase.Channel; RORemoteService.Message := dmBase.Message; end; function TdmAlmacenes.GetItems: IBizAlmacen; var dtAlmacenes: TDACDSDataTable; ACursor: TCursor; begin ACursor := Screen.Cursor; Screen.Cursor := crHourGlass; try dtAlmacenes := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_Almacenes, dtAlmacenes); dtAlmacenes.BusinessRulesID := 'BizAlmacen'; Result := (dtAlmacenes as IBizAlmacen); finally Screen.Cursor := ACursor; end; end; procedure TdmAlmacenes.Preview; var AStream: TMemoryStream; AEditorPreview : TfEditorPreview; begin { AStream := Binary.Create; AEditorPreview := TfEditorPreview.Create(Application); try AStream := (RemoteService as ISrvContactos).GenerateReport; AEditorPreview.Report.PreviewPages.LoadFromStream(AStream); AEditorPreview.ShowModal; finally AEditorPreview.Release; AStream.Free; end; } end; {function TdmAlmacenes.GetCliente(Codigo: Integer): IBizCliente; var // dtContactos: TDACDSDataTable; // dtCategorias: TDACDSDataTable; // ACursor: TCursor; begin { ACursor := Screen.Cursor; Screen.Cursor := crHourGlass; try dtContactos := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_Contactos, dtContactos); dtContactos.BusinessRulesID := 'BizCliente'; dtCategorias := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_CategoriasContacto, dtCategorias); dtCategorias.BusinessRulesID := 'BizCategoria'; (dtContactos as IBizContacto).Categorias := (dtCategorias as IBizCategoriasContacto); Result := (dtContactos as IBizCliente); GetCliente(Result, Codigo); finally Screen.Cursor := ACursor; end; end; } function TdmAlmacenes.GetItem(Codigo: Integer): IBizAlmacen; var AAlmacen: IBizAlmacen; begin AAlmacen := GetItems; with AAlmacen.DataTable do begin if Active then Active := False; Where.Clear; Where.AddCondition(fld_ALMACENESCODIGO, cEqual, Codigo); Active := True; end; Result := AAlmacen; end; function TdmAlmacenes.PuedoEliminarAlmacen(Codigo: Integer): Boolean; begin Result := (RORemoteService as IsrvAlmacenes).PuedoEliminarAlmacen(Codigo); end; initialization dmAlmacenes := TdmAlmacenes.Create(nil); finalization FreeAndNil(dmAlmacenes); end.