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

102 lines
2.7 KiB
ObjectPascal

unit uDataModuleEmpleados;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService,
uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposEmpleado, uROTypes,
uIDataModuleEmpleados, uBizContactos, uDADesigntimeCall, uIDataModuleFichasEmpleadoReport,
uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer,
uDARemoteDataAdapter;
type
TDataModuleEmpleados = class(TDataModuleContactos, IDataModuleEmpleados, IDataModuleFichasEmpleadoReport)
tbl_Empleados: TDAMemDataTable;
ds_Empleados: TDADataSource;
tbl_GruposEmpleado: TDAMemDataTable;
ds_GruposEmpleado: TDADataSource;
protected
public
function GetItem(const ID : Integer) : IBizEmpleado;
function NewItem : IBizEmpleado;
function GetItems : IBizEmpleado;
function GetGruposEmpleado : IBizGrupoEmpleado;
// Report
function GetReport(const AFichaID: String): Binary;
end;
implementation
{$R *.dfm}
uses
FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils;
{ TDataModuleVendedores }
function TDataModuleEmpleados.GetGruposEmpleado: IBizGrupoEmpleado;
var
AGrupoEmpleado : TDAMemDataTable;
begin
ShowHourglassCursor;
try
AGrupoEmpleado := CloneDataTable(tbl_GruposEmpleado);
AGrupoEmpleado.BusinessRulesID := BIZ_CLIENT_GRUPOSEMPLEADO;
Result := (AGrupoEmpleado as IBizGrupoEmpleado);
finally
HideHourglassCursor;
end;
end;
function TDataModuleEmpleados.GetItem(const ID: Integer): IBizEmpleado;
begin
ShowHourglassCursor;
try
Result := Self.GetItems;
with Result.DataTable.DynamicWhere do
begin
// (ID = :ID)
Expression := NewBinaryExpression(NewField('', fld_ContactosID),
NewConstant(ID, datInteger), dboEqual);
end;
finally
HideHourglassCursor;
end;
end;
function TDataModuleEmpleados.GetItems: IBizEmpleado;
var
AContacto : TDAMemDataTable;
begin
ShowHourglassCursor;
try
AContacto := CloneDataTable(tbl_Empleados);
AContacto.BusinessRulesID := BIZ_CLIENT_EMPLEADO;
with TBizEmpleado(AContacto.BusinessEventsObj) do
begin
DatosBancarios := _GetDatosBancarios;
end;
Result := (AContacto as IBizEmpleado);
finally
HideHourglassCursor;
end;
end;
function TDataModuleEmpleados.GetReport(const AFichaID: String): Binary;
begin
Result := (RORemoteService as IsrvContactos).GenerateFichaEmpleadoReport(AFichaID);
end;
function TDataModuleEmpleados.NewItem: IBizEmpleado;
begin
Result := GetItem(ID_NULO)
end;
end.