git-svn-id: https://192.168.0.254/svn/Proyectos.ConstruccionesCNJ_FactuGES/trunk@4 6cb6b671-b4a0-dd4c-8bdc-3006503d97e9
100 lines
3.3 KiB
ObjectPascal
100 lines
3.3 KiB
ObjectPascal
unit uPedidosMontajeController;
|
|
|
|
interface
|
|
|
|
uses
|
|
uEditorDBItem,
|
|
uPedidosProveedorController, uMontajesDetallesController, uBizPedidosProveedor,
|
|
uBizPedidosMontaje;
|
|
|
|
type
|
|
IPedidosMontajeController = interface(IPedidosProveedorController)
|
|
['{2E5321A9-03DC-4E81-A97B-C4D2D1C2ADB9}']
|
|
function GetMontajeController: IMontajesDetallesController;
|
|
procedure SetMontajeController(const Value: IMontajesDetallesController);
|
|
property MontajeController: IMontajesDetallesController read GetMontajeController write SetMontajeController;
|
|
function BuscarPedidosMontaje(const ID: Integer): IBizPedidoMontaje;
|
|
end;
|
|
|
|
TPedidosMontajeController = class(TPedidosProveedorController, IPedidosMontajeController)
|
|
protected
|
|
FMontajeController : IMontajesDetallesController;
|
|
function GetMontajeController: IMontajesDetallesController;
|
|
procedure SetMontajeController(const Value: IMontajesDetallesController);
|
|
procedure RecuperarMontaje(APedido : IBizPedidoMontaje);
|
|
|
|
//Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
|
|
//este controller
|
|
procedure AsignarDataModule; override;
|
|
procedure RecuperarObjetos(APedido: IBizPedidoProveedor); override;
|
|
procedure AsignarEditor(out AEditor: IEditorDBItem); override;
|
|
|
|
public
|
|
property MontajeController: IMontajesDetallesController read GetMontajeController write SetMontajeController;
|
|
function BuscarPedidosMontaje(const ID: Integer): IBizPedidoMontaje;
|
|
constructor Create;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uIEditorPedidoMontaje, uDataModulePedidosMontaje, uBizMontajesDetalles,
|
|
uIDataModulePedidosMontaje;
|
|
|
|
{ TPedidosMontajeController }
|
|
|
|
procedure TPedidosMontajeController.AsignarDataModule;
|
|
begin
|
|
FDataModule := TDataModulePedidosMontaje.Create(Nil);
|
|
end;
|
|
|
|
procedure TPedidosMontajeController.AsignarEditor(out AEditor: IEditorDBItem);
|
|
begin
|
|
// inherited; No descomentar así crea solo el editor hijo
|
|
CreateEditor('EditorPedidoMontaje', IEditorPedidoMontaje, AEditor);
|
|
end;
|
|
|
|
function TPedidosMontajeController.BuscarPedidosMontaje(const ID: Integer): IBizPedidoMontaje;
|
|
begin
|
|
Result := (FDataModule as IDataModulePedidosMontaje).GetItemsMontaje(ID);
|
|
FiltrarEmpresa(Result);
|
|
end;
|
|
|
|
constructor TPedidosMontajeController.Create;
|
|
begin
|
|
inherited;
|
|
FMontajeController := TMontajesDetallesController.Create;
|
|
end;
|
|
|
|
destructor TPedidosMontajeController.Destroy;
|
|
begin
|
|
FMontajeController := Nil;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TPedidosMontajeController.RecuperarMontaje(APedido: IBizPedidoMontaje);
|
|
begin
|
|
APedido.Montaje := (FMontajeController.Buscar(APedido.ID_MONTAJE) as IBizMontajeDetalles);
|
|
end;
|
|
|
|
procedure TPedidosMontajeController.RecuperarObjetos(APedido: IBizPedidoProveedor);
|
|
begin
|
|
inherited;
|
|
if not Assigned((APedido as IBizPedidoMontaje).Montaje)
|
|
or ((APedido as IBizPedidoMontaje).ID_MONTAJE <> (APedido as IBizPedidoMontaje).Montaje.ID) then
|
|
RecuperarMontaje((APedido as IBizPedidoMontaje))
|
|
end;
|
|
|
|
procedure TPedidosMontajeController.SetMontajeController(const Value: IMontajesDetallesController);
|
|
begin
|
|
FMontajeController := Value;
|
|
end;
|
|
|
|
function TPedidosMontajeController.GetMontajeController: IMontajesDetallesController;
|
|
begin
|
|
Result := FMontajeController;
|
|
end;
|
|
|
|
end.
|