2007-09-12 14:11:44 +00:00
|
|
|
unit uDataModuleClientes;
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
|
|
DB, uDADataTable, uDAScriptingProvider,
|
2007-11-25 17:18:25 +00:00
|
|
|
uDACDSDataTable, uDABINAdapter, uRORemoteService,
|
2007-09-12 14:11:44 +00:00
|
|
|
uROClient, uROBinMessage, uROWinInetHttpChannel, uBizClientesDescuentos,
|
|
|
|
|
uBizGruposCliente, uBizContactos, uDataModuleContactos,
|
|
|
|
|
uIDataModuleClientes, uDADesigntimeCall, uDARemoteDataAdapter,
|
2007-09-24 11:09:48 +00:00
|
|
|
uDADataStreamer, uRODynamicRequest, uDAInterfaces, uDAMemDataTable,
|
2007-10-24 18:54:18 +00:00
|
|
|
uDABin2DataStreamer, uControllerBase, uBizContactosDatosBancarios,
|
|
|
|
|
uIDataModuleContactos;
|
2007-09-12 14:11:44 +00:00
|
|
|
|
|
|
|
|
type
|
|
|
|
|
TDataModuleClientes = class(TDataModuleContactos, IDataModuleClientes)
|
2007-09-24 11:09:48 +00:00
|
|
|
tbl_Clientes: TDAMemDataTable;
|
2007-09-12 14:11:44 +00:00
|
|
|
ds_Clientes: TDADataSource;
|
2007-09-24 11:09:48 +00:00
|
|
|
tbl_ClientesDescuentos: TDAMemDataTable;
|
2007-09-12 14:11:44 +00:00
|
|
|
ds_ClientesDescuentos: TDADataSource;
|
2007-09-24 11:09:48 +00:00
|
|
|
tbl_GruposCliente: TDAMemDataTable;
|
2007-09-12 14:11:44 +00:00
|
|
|
ds_GruposCliente: TDADataSource;
|
|
|
|
|
protected
|
|
|
|
|
function _GetDescuentos: IBizClienteDescuentos;
|
|
|
|
|
public
|
|
|
|
|
function GetItem(const ID : Integer) : IBizCliente;
|
|
|
|
|
function NewItem : IBizCliente;
|
|
|
|
|
function GetItems : IBizCliente;
|
|
|
|
|
function GetItemsTiendaWeb : IBizCliente;
|
2009-11-19 16:46:25 +00:00
|
|
|
function GetItemsFelicitacion : IBizCliente;
|
2007-09-12 14:11:44 +00:00
|
|
|
function GetGruposCliente : IBizGrupoCliente;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
|
|
uses
|
2007-10-24 18:54:18 +00:00
|
|
|
FactuGES_Intf, cxControls, schContactosClient_Intf,
|
2007-10-03 10:27:58 +00:00
|
|
|
uDataTableUtils, Dialogs, DataAbstract4_Intf;
|
2007-09-12 14:11:44 +00:00
|
|
|
|
|
|
|
|
{ TdmClientes }
|
|
|
|
|
|
|
|
|
|
function TDataModuleClientes.GetGruposCliente: IBizGrupoCliente;
|
|
|
|
|
var
|
2007-09-24 11:09:48 +00:00
|
|
|
AGrupoCliente : TDAMemDataTable;
|
2007-09-12 14:11:44 +00:00
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
2007-09-24 11:09:48 +00:00
|
|
|
AGrupoCliente := CloneDataTable(tbl_GruposCliente);
|
2007-09-12 14:11:44 +00:00
|
|
|
AGrupoCliente.BusinessRulesID := BIZ_CLIENT_GRUPOSCLIENTE;
|
|
|
|
|
Result := (AGrupoCliente as IBizGrupoCliente);
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleClientes.GetItem(const ID: Integer): IBizCliente;
|
2007-11-14 19:41:42 +00:00
|
|
|
var
|
|
|
|
|
Condicion: TDAWhereExpression;
|
2007-09-12 14:11:44 +00:00
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
Result := Self.GetItems;
|
2007-11-14 19:41:42 +00:00
|
|
|
|
2007-09-24 11:09:48 +00:00
|
|
|
with Result.DataTable.DynamicWhere do
|
2007-09-12 14:11:44 +00:00
|
|
|
begin
|
2007-09-24 11:09:48 +00:00
|
|
|
// (ID = :ID)
|
2007-11-14 19:41:42 +00:00
|
|
|
Condicion := NewBinaryExpression(NewField('', fld_ContactosID), NewConstant(ID, datInteger), dboEqual);
|
|
|
|
|
|
|
|
|
|
if IsEmpty then
|
|
|
|
|
Expression := Condicion
|
|
|
|
|
else
|
|
|
|
|
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
|
2007-09-12 14:11:44 +00:00
|
|
|
end;
|
2007-11-14 19:41:42 +00:00
|
|
|
|
2007-09-12 14:11:44 +00:00
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleClientes.GetItems: IBizCliente;
|
|
|
|
|
var
|
2007-09-24 11:09:48 +00:00
|
|
|
AContacto : TDAMemDataTable;
|
2007-09-12 14:11:44 +00:00
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
2007-09-24 11:09:48 +00:00
|
|
|
AContacto := CloneDataTable(tbl_Clientes);
|
2007-09-12 14:11:44 +00:00
|
|
|
AContacto.BusinessRulesID := BIZ_CLIENT_CLIENTE;
|
|
|
|
|
|
|
|
|
|
with TBizCliente(AContacto.BusinessEventsObj) do
|
|
|
|
|
begin
|
|
|
|
|
DatosBancarios := _GetDatosBancarios;
|
|
|
|
|
Direcciones := _GetDirecciones;
|
|
|
|
|
Descuentos := _GetDescuentos;
|
2008-03-24 20:50:41 +00:00
|
|
|
Personal := _GetPersonal;
|
2007-09-12 14:11:44 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
Result := (AContacto as IBizCliente);
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
2009-11-19 16:46:25 +00:00
|
|
|
function TDataModuleClientes.GetItemsFelicitacion: IBizCliente;
|
|
|
|
|
var
|
|
|
|
|
Condicion: TDAWhereExpression;
|
|
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
Result := Self.GetItems;
|
|
|
|
|
|
|
|
|
|
with Result.DataTable.DynamicWhere do
|
|
|
|
|
begin
|
|
|
|
|
Condicion := NewBinaryExpression(NewField('', fld_ClientesFELICITACION), NewConstant(1, datInteger), dboEqual);
|
|
|
|
|
|
|
|
|
|
Clear;
|
|
|
|
|
Expression := Condicion
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
2007-09-12 14:11:44 +00:00
|
|
|
function TDataModuleClientes.GetItemsTiendaWeb: IBizCliente;
|
2007-11-14 19:41:42 +00:00
|
|
|
var
|
|
|
|
|
Condicion: TDAWhereExpression;
|
2007-09-12 14:11:44 +00:00
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
|
|
|
|
Result := Self.GetItems;
|
2007-11-14 19:41:42 +00:00
|
|
|
|
2007-09-24 11:09:48 +00:00
|
|
|
with Result.DataTable.DynamicWhere do
|
2007-09-12 14:11:44 +00:00
|
|
|
begin
|
2007-11-14 19:41:42 +00:00
|
|
|
// (ID = :ID)
|
|
|
|
|
Condicion := NewBinaryExpression(NewField('', fld_ClientesTIENDA_WEB), NewConstant(1, datInteger), dboEqual);
|
|
|
|
|
|
2007-09-24 11:09:48 +00:00
|
|
|
Clear;
|
2007-11-14 19:41:42 +00:00
|
|
|
Expression := Condicion
|
2007-09-12 14:11:44 +00:00
|
|
|
end;
|
2007-11-14 19:41:42 +00:00
|
|
|
|
2007-09-12 14:11:44 +00:00
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleClientes.NewItem: IBizCliente;
|
|
|
|
|
begin
|
|
|
|
|
Result := GetItem(ID_NULO)
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TDataModuleClientes._GetDescuentos: IBizClienteDescuentos;
|
|
|
|
|
var
|
2007-09-24 11:09:48 +00:00
|
|
|
ADescuentos : TDAMemDataTable;
|
2007-09-12 14:11:44 +00:00
|
|
|
begin
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
try
|
2007-09-24 11:09:48 +00:00
|
|
|
ADescuentos := CloneDataTable(tbl_ClientesDescuentos);
|
2007-09-12 14:11:44 +00:00
|
|
|
with ADescuentos do
|
|
|
|
|
begin
|
|
|
|
|
BusinessRulesID := BIZ_CLIENT_CLIENTE_DESCUENTOS;
|
|
|
|
|
DetailOptions := DetailOptions -
|
|
|
|
|
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
|
|
|
|
|
end;
|
|
|
|
|
Result := (ADescuentos as IBizClienteDescuentos);
|
|
|
|
|
finally
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
end.
|