Tecsitel_FactuGES2/Source/Modulos/Contactos/Data/uDataModuleProveedores.pas

113 lines
2.9 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;
end;
implementation
{$R *.dfm}
uses
cxControls, schContactosClient_Intf, uDataTableUtils;
{ TDataModuleProveedores }
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;
begin
ShowHourglassCursor;
try
Result := Self.GetItems;
// (ID = :ID)
with Result.DataTable.DynamicWhere do
begin
Expression := NewBinaryExpression(NewField('', fld_ContactosID),
NewConstant(ID, datInteger), dboEqual);
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;
end;
Result := (AContacto as IBizProveedor);
finally
HideHourglassCursor;
end;
end;
function TDataModuleProveedores.GetItemsTiendaWeb: IBizProveedor;
begin
ShowHourglassCursor;
try
Result := Self.GetItems;
with Result.DataTable.DynamicWhere do
begin
Clear;
// (TIENDA_WEB = 1)
Expression := NewBinaryExpression(NewField('', fld_ProveedoresTIENDA_WEB),
NewConstant(1, datInteger), dboEqual);
end;
finally
HideHourglassCursor;
end;
end;
function TDataModuleProveedores.NewItem: IBizProveedor;
begin
Result := GetItem(ID_NULO)
end;
end.