{ =============================================================================== Copyright (©) 2007. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: Versión actual: 1.0.0 Fecha versión actual: =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit uDataModuleRecibosCliente; interface uses SysUtils, Classes, DB, uDAClientDataModule, uDADataTable, uDABINAdapter, uDAScriptingProvider, uDACDSDataTable, uROWinInetHttpChannel, uROTypes, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uDADesigntimeCall, uDataModuleBase, uIDataModuleRecibosCliente, uIDataModuleRecibosClienteReport, uBizRecibosCliente, uBizPagosCliente, uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer, uDARemoteDataAdapter; type TDataModuleRecibosCliente = class(TDataModuleBase, IDataModuleRecibosCliente, IDataModuleRecibosClienteReport) RORemoteService: TRORemoteService; rda_RecibosCliente: TDARemoteDataAdapter; Bin2DataStreamer: TDABin2DataStreamer; tbl_PagosCliente: TDAMemDataTable; ds_PagosCliente: TDADataSource; tbl_RecibosCliente: TDAMemDataTable; ds_RecibosCliente: TDADataSource; tbl_RecibosCompensadosCli: TDAMemDataTable; ds_RecibosCompensadosCli: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); protected function _GetPagos: IBizPagosCliente; function _GetRecibosCompensados : IBizRecibosCompensadosCli; public function GetItems: IBizRecibosCliente; function GetItem(const ID : Integer) : IBizRecibosCliente; function NewItem : IBizRecibosCliente; function GetReport(const ID: String): Binary; end; implementation {$R *.DFM} uses FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls, schRecibosClienteClient_Intf; { TDataModuleRecibosCliente } function TDataModuleRecibosCliente.GetReport(const ID: String): Binary; begin Result := (RORemoteService as IsrvRecibosCliente).GenerateReport(ID); end; procedure TDataModuleRecibosCliente.DAClientDataModuleCreate(Sender: TObject); begin RORemoteService.Channel := dmConexion.Channel; RORemoteService.Message := dmConexion.Message; end; function TDataModuleRecibosCliente._GetPagos: IBizPagosCliente; var APagos : TDAMemDataTable; begin ShowHourglassCursor; try APagos := CloneDataTable(tbl_PagosCliente); with APagos do begin BusinessRulesID := BIZ_CLIENT_IBIZPAGOSCLIENTE; DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates]; end; Result := (APagos as IBizPagosCliente); finally HideHourglassCursor; end; end; function TDataModuleRecibosCliente._GetRecibosCompensados: IBizRecibosCompensadosCli; var ARecibosCompensados : TDAMemDataTable; begin ShowHourglassCursor; try ARecibosCompensados := CloneDataTable(tbl_RecibosCompensadosCli); with ARecibosCompensados do begin BusinessRulesID := BIZ_CLIENT_RECIBOS_COMPENSADOSCLI; DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates]; end; Result := (ARecibosCompensados as IBizRecibosCompensadosCli); finally HideHourglassCursor; end; end; function TDataModuleRecibosCliente.GetItems: IBizRecibosCliente; var AIBizRecibosCliente : TDAMemDataTable; begin ShowHourglassCursor; try AIBizRecibosCliente := CloneDataTable(tbl_RecibosCliente); AIBizRecibosCliente.BusinessRulesID := BIZ_CLIENT_IBizRecibosCliente; with TBizRecibosCliente(AIBizRecibosCliente.BusinessEventsObj) do Pagos := _GetPagos; // with TBizRecibosCliente(AIBizRecibosCliente.BusinessEventsObj) do // RecibosCompensados := _GetRecibosCompensados; Result := (AIBizRecibosCliente as IBizRecibosCliente); finally HideHourglassCursor; end; end; function TDataModuleRecibosCliente.NewItem: IBizRecibosCliente; begin Result := GetItem(ID_NULO) end; function TDataModuleRecibosCliente.GetItem(const ID: Integer): IBizRecibosCliente; begin ShowHourglassCursor; try Result := Self.GetItems; with Result.DataTable.Where do begin if NotEmpty then AddOperator(opAND); OpenBraket; AddText(fld_RecibosClienteID + ' = ' + IntToStr(ID)); CloseBraket; end; finally HideHourglassCursor; end; end; end.