git-svn-id: https://192.168.0.254/svn/Proyectos.ConstruccionesCNJ_FactuGES/trunk@4 6cb6b671-b4a0-dd4c-8bdc-3006503d97e9
135 lines
4.2 KiB
ObjectPascal
135 lines
4.2 KiB
ObjectPascal
unit uCobrosMontajeController;
|
|
|
|
interface
|
|
|
|
|
|
uses
|
|
// Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleCobrosCliente,
|
|
// uClientesController, uBizCobrosCliente;
|
|
|
|
uEditorDBItem,
|
|
uCobrosClienteController, uMontajesDetallesController, uBizCobrosCliente,
|
|
uBizCobrosMontaje;
|
|
|
|
|
|
type
|
|
ICobrosMontajeController = interface(ICobrosClienteController)
|
|
['{573BEBB7-C4ED-4041-8373-0FEF3B201E83}']
|
|
function GetMontajeController: IMontajesDetallesController;
|
|
procedure SetMontajeController(const Value: IMontajesDetallesController);
|
|
property MontajeController: IMontajesDetallesController read GetMontajeController write SetMontajeController;
|
|
function BuscarCobrosMontaje(const ID: Integer): IBizCobroMontaje;
|
|
end;
|
|
|
|
TCobrosMontajeController = class(TCobrosClienteController, ICobrosMontajeController)
|
|
protected
|
|
FMontajeController : IMontajesDetallesController;
|
|
function GetMontajeController: IMontajesDetallesController;
|
|
procedure SetMontajeController(const Value: IMontajesDetallesController);
|
|
procedure RecuperarMontaje(ACobro : IBizCobroMontaje);
|
|
|
|
//Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
|
|
//este controller
|
|
procedure AsignarDataModule; override;
|
|
procedure RecuperarObjetos(ACobro: IBizCobroCliente); override;
|
|
procedure AsignarEditor(out AEditor: IEditorDBItem); override;
|
|
|
|
public
|
|
property MontajeController: IMontajesDetallesController read GetMontajeController write SetMontajeController;
|
|
function BuscarCobrosMontaje(const ID: Integer): IBizCobroMontaje;
|
|
constructor Create;
|
|
destructor Destroy; override;
|
|
|
|
procedure Preview(ACobro : IBizCobroCliente); override;
|
|
procedure Print(ACobro : IBizCobroCliente); override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uIEditorCobroMontaje, uDataModuleCobrosMontaje, uBizMontajesDetalles,
|
|
uIDataModuleCobrosMontaje, uCobrosMontajeReportController;
|
|
|
|
{ TCobrosMontajeController }
|
|
|
|
procedure TCobrosMontajeController.AsignarDataModule;
|
|
begin
|
|
inherited;
|
|
FDataModule := TDataModuleCobrosMontaje.Create(Nil);
|
|
end;
|
|
|
|
procedure TCobrosMontajeController.AsignarEditor(out AEditor: IEditorDBItem);
|
|
begin
|
|
// inherited; No descomentar así crea solo el editor hijo
|
|
CreateEditor('EditorCobroMontaje', IEditorCobroMontaje, AEditor);
|
|
end;
|
|
|
|
function TCobrosMontajeController.BuscarCobrosMontaje(const ID: Integer): IBizCobroMontaje;
|
|
begin
|
|
Result := (FDataModule as IDataModuleCobrosMontaje).GetItemsMontaje(ID);
|
|
FiltrarEmpresa(Result);
|
|
end;
|
|
|
|
constructor TCobrosMontajeController.Create;
|
|
begin
|
|
inherited;
|
|
FMontajeController := TMontajesDetallesController.Create;
|
|
end;
|
|
|
|
destructor TCobrosMontajeController.Destroy;
|
|
begin
|
|
FMontajeController := Nil;
|
|
inherited;
|
|
end;
|
|
|
|
function TCobrosMontajeController.GetMontajeController: IMontajesDetallesController;
|
|
begin
|
|
Result := FMontajeController;
|
|
end;
|
|
|
|
procedure TCobrosMontajeController.Preview(ACobro: IBizCobroCliente);
|
|
var
|
|
AReportController : ICobrosMontajeReportController;
|
|
begin
|
|
inherited;
|
|
AReportController := TCobrosMontajeReportController.Create;
|
|
try
|
|
AReportController.Preview(ACobro.ID);
|
|
finally
|
|
AReportController := NIL;
|
|
end;
|
|
end;
|
|
|
|
procedure TCobrosMontajeController.Print(ACobro: IBizCobroCliente);
|
|
var
|
|
AReportController : ICobrosMontajeReportController;
|
|
begin
|
|
inherited;
|
|
AReportController := TCobrosMontajeReportController.Create;
|
|
try
|
|
AReportController.Print(ACobro.ID);
|
|
finally
|
|
AReportController := NIL;
|
|
end;
|
|
end;
|
|
|
|
procedure TCobrosMontajeController.RecuperarMontaje(ACobro: IBizCobroMontaje);
|
|
begin
|
|
ACobro.Montaje := (FMontajeController.Buscar(ACobro.ID_MONTAJE) as IBizMontajeDetalles);
|
|
end;
|
|
|
|
procedure TCobrosMontajeController.RecuperarObjetos(ACobro: IBizCobroCliente);
|
|
begin
|
|
inherited;
|
|
if not Assigned((ACobro as IBizCobroMontaje).Montaje)
|
|
or ((ACobro as IBizCobroMontaje).ID_MONTAJE <> (ACobro as IBizCobroMontaje).Montaje.ID) then
|
|
RecuperarMontaje((ACobro as IBizCobroMontaje));
|
|
end;
|
|
|
|
procedure TCobrosMontajeController.SetMontajeController(const Value: IMontajesDetallesController);
|
|
begin
|
|
FMontajeController := Value;
|
|
end;
|
|
|
|
end.
|