123 lines
3.0 KiB
ObjectPascal
123 lines
3.0 KiB
ObjectPascal
|
|
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.
|