Tareas #716: Poner opción de felicitación navideña a proveedores Errores #715: No aparece el nº total de clientes en el pie de la pantalla de lista de clientes git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@1052 0c75b7a4-871f-7646-8a2f-f78d34cc349f
155 lines
4.0 KiB
ObjectPascal
155 lines
4.0 KiB
ObjectPascal
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;
|
|
function DarListaDescripcionesProveedores : TStringList;
|
|
function GetItemsFelicitacion : IBizProveedor;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils, uStringsUtils;
|
|
|
|
{ TDataModuleProveedores }
|
|
|
|
function TDataModuleProveedores.DarListaDescripcionesProveedores: TStringList;
|
|
begin
|
|
Result := TStringList.Create;
|
|
StringToStrings((RORemoteService as IsrvContactos).DarListaDescripcionesProveedores, '|', Result);
|
|
end;
|
|
|
|
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;
|
|
var
|
|
Condicion: TDAWhereExpression;
|
|
begin
|
|
ShowHourglassCursor;
|
|
try
|
|
Result := Self.GetItems;
|
|
|
|
with Result.DataTable.DynamicWhere do
|
|
begin
|
|
// (ID = :ID)
|
|
Condicion := NewBinaryExpression(NewField('', fld_ContactosID), NewConstant(ID, datInteger), dboEqual);
|
|
|
|
if IsEmpty then
|
|
Expression := Condicion
|
|
else
|
|
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
|
|
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;
|
|
Personal := _GetPersonal;
|
|
end;
|
|
|
|
Result := (AContacto as IBizProveedor);
|
|
finally
|
|
HideHourglassCursor;
|
|
end;
|
|
end;
|
|
|
|
function TDataModuleProveedores.GetItemsFelicitacion: IBizProveedor;
|
|
var
|
|
Condicion: TDAWhereExpression;
|
|
begin
|
|
ShowHourglassCursor;
|
|
try
|
|
Result := Self.GetItems;
|
|
|
|
with Result.DataTable.DynamicWhere do
|
|
begin
|
|
Condicion := NewBinaryExpression(NewField('', fld_ProveedoresFELICITACION), NewConstant(1, datInteger), dboEqual);
|
|
|
|
Clear;
|
|
Expression := Condicion
|
|
end;
|
|
|
|
finally
|
|
HideHourglassCursor;
|
|
end;
|
|
end;
|
|
|
|
function TDataModuleProveedores.GetItemsTiendaWeb: IBizProveedor;
|
|
var
|
|
Condicion: TDAWhereExpression;
|
|
begin
|
|
ShowHourglassCursor;
|
|
try
|
|
Result := Self.GetItems;
|
|
|
|
with Result.DataTable.DynamicWhere do
|
|
begin
|
|
// (ID = :ID)
|
|
Condicion := NewBinaryExpression(NewField('', fld_ClientesTIENDA_WEB), NewConstant(1, datInteger), dboEqual);
|
|
|
|
Clear;
|
|
Expression := Condicion
|
|
end;
|
|
|
|
finally
|
|
HideHourglassCursor;
|
|
end;
|
|
end;
|
|
|
|
function TDataModuleProveedores.NewItem: IBizProveedor;
|
|
begin
|
|
Result := GetItem(ID_NULO)
|
|
end;
|
|
|
|
end.
|