Tecsitel_FactuGES2/Source/Modulos/Contactos/Data/uDataModuleProveedores.pas
roberto 1e2765e684 Version 1.9.3:
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
2011-11-22 12:03:49 +00:00

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.