This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Source/Modulos/Contactos/Data/uDataModuleAgentes.pas

123 lines
3.0 KiB
ObjectPascal
Raw Permalink Normal View History

unit uDataModuleAgentes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService,
uROClient, uROBinMessage, uROWinInetHttpChannel,
uBizAgentesComisiones,
uIDataModuleAgentes, uBizContactos, uDADesigntimeCall;
type
TDataModuleAgentes = class(TDataModuleContactos, IDataModuleAgentes)
tbl_Agentes: TDACDSDataTable;
ds_Agentes: TDADataSource;
tbl_AgentesComisiones: TDACDSDataTable;
ds_AgentesComisiones: TDADataSource;
protected
function _GetComisiones: IBizAgenteComisiones;
public
function GetItem(const ID : Integer) : IBizAgente;
function NewItem : IBizAgente;
function GetItems : IBizAgente;
function GetNextID(const DataSetName : String) : Integer; override;
end;
implementation
{$R *.dfm}
uses
cxControls, schContactosClient_Intf, uDAInterfaces, uDataTableUtils;
{ TDataModuleVendedores }
function TDataModuleAgentes.GetItem(const ID: Integer): IBizAgente;
begin
ShowHourglassCursor;
try
Result := Self.GetItems;
with Result.DataTable.Where do
begin
if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText(fld_ContactosID + ' = ' + IntToStr(ID));
CloseBraket;
end;
finally
HideHourglassCursor;
end;
end;
function TDataModuleAgentes.GetItems: IBizAgente;
var
AContacto : TDACDSDataTable;
begin
ShowHourglassCursor;
try
AContacto := _CloneDataTable(tbl_Agentes);
AContacto.BusinessRulesID := BIZ_CLIENT_AGENTE;
with TBizAgente(AContacto.BusinessEventsObj) do
begin
DatosBancarios := _GetDatosBancarios;
_Categorias := _GetCategorias;
Comisiones := _GetComisiones;
end;
Result := (AContacto as IBizAgente);
finally
HideHourglassCursor;
end;
end;
function TDataModuleAgentes.GetNextID(const DataSetName: String): Integer;
var
aDataSet : String;
aGeneratorName : String;
begin
aDataSet := DataSetName;
if aDataSet = nme_AgentesComisiones then
begin
aGeneratorName := 'GEN_AGENTES_COMISIONES_ID';
Result := _InternalGetNextID(aGeneratorName);
Exit;
end;
if aDataSet = nme_Agentes then
aDataSet := nme_Contactos;
Result := inherited GetNextID(aDataSet);
end;
function TDataModuleAgentes.NewItem: IBizAgente;
begin
Result := GetItem(ID_NULO)
end;
function TDataModuleAgentes._GetComisiones: IBizAgenteComisiones;
var
AComisiones : TDACDSDataTable;
begin
ShowHourglassCursor;
try
AComisiones := _CloneDataTable(tbl_AgentesComisiones);
with AComisiones do
begin
BusinessRulesID := BIZ_CLIENT_AGENTE_COMISIONES;
DetailOptions := DetailOptions -
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
end;
Result := (AComisiones as IBizAgenteComisiones);
finally
HideHourglassCursor;
end;
end;
end.