unit uDataModuleProveedores; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposProveedor, uIDataModuleProveedores, uBizContactos, uDADesigntimeCall, uDARemoteDataAdapter, uDADataStreamer, uRODynamicRequest, uDAInterfaces, uDAMemDataTable, uDABin2DataStreamer; type TDataModuleProveedores = class(TDataModuleContactos, IDataModuleProveedores) tbl_GruposProveedor: TDAMemDataTable; ds_GruposProveedor: TDADataSource; tbl_Proveedores: TDAMemDataTable; ds_Proveedores: TDADataSource; public function GetItem(const ID : Integer) : IBizProveedor; function NewItem : IBizProveedor; function GetItems : IBizProveedor; function GetItemsTiendaWeb : IBizProveedor; function GetGruposProveedor : IBizGrupoProveedor; end; implementation {$R *.dfm} uses cxControls, schContactosClient_Intf, uDataTableUtils; { TDataModuleProveedores } function TDataModuleProveedores.GetGruposProveedor: IBizGrupoProveedor; var AGrupoProveedor : TDAMemDataTable; begin ShowHourglassCursor; try AGrupoProveedor := CloneDataTable(tbl_GruposProveedor); AGrupoProveedor.BusinessRulesID := BIZ_CLIENT_GRUPOSPROVEEDOR; Result := (AGrupoProveedor as IBizGrupoProveedor); finally HideHourglassCursor; end; end; function TDataModuleProveedores.GetItem(const ID: Integer): IBizProveedor; begin ShowHourglassCursor; try Result := Self.GetItems; // (ID = :ID) with Result.DataTable.DynamicWhere do begin Expression := NewBinaryExpression(NewField('', fld_ContactosID), NewConstant(ID, datInteger), dboEqual); end; finally HideHourglassCursor; end; end; function TDataModuleProveedores.GetItems: IBizProveedor; var AContacto : TDAMemDataTable; begin ShowHourglassCursor; try AContacto := CloneDataTable(tbl_Proveedores); AContacto.BusinessRulesID := BIZ_CLIENT_PROVEEDOR; with TBizProveedor(AContacto.BusinessEventsObj) do begin DatosBancarios := _GetDatosBancarios; Direcciones := _GetDirecciones; end; Result := (AContacto as IBizProveedor); finally HideHourglassCursor; end; end; function TDataModuleProveedores.GetItemsTiendaWeb: IBizProveedor; begin ShowHourglassCursor; try Result := Self.GetItems; with Result.DataTable.DynamicWhere do begin Clear; // (TIENDA_WEB = 1) Expression := NewBinaryExpression(NewField('', fld_ProveedoresTIENDA_WEB), NewConstant(1, datInteger), dboEqual); end; finally HideHourglassCursor; end; end; function TDataModuleProveedores.NewItem: IBizProveedor; begin Result := GetItem(ID_NULO) end; end.