unit uPluginReferencias;

interface

uses
  uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList,
  ImgList, Controls, PngImageList;

type
  IMCReferencias = interface(IInterface)
  ['{FCFD32A3-68B9-4A15-B458-EB8B27324D22}']
  end;

  TPluginReferencias = class(TModuleController, IMCReferencias)
    actReferencias: TAction;
    ExtraImages: TPngImageList;
    LargeImages: TPngImageList;
    MainMenu: TMainMenu;
    ModuleActionList: TActionList;
    SmallImages: TPngImageList;
    Referencias: TMenuItem;
    Referencias1: TMenuItem;
    Datos1: TMenuItem;
    procedure actReferenciasExecute(Sender: TObject);
    procedure actReferenciasUpdate(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;

implementation

{$R *.dfm}

uses
  Forms, Dialogs, SysUtils, uFactuGES_App,
  uReferenciasController, uBizReferencias, uReferenciasViewRegister;

function GetModule : TModuleController;
begin
  Result := TPluginReferencias.Create(NIL);
end;

exports
  GetModule name GET_MODULE_FUNC;

procedure TPluginReferencias.actReferenciasExecute(Sender: TObject);
var
  AReferenciasController : IReferenciasController;
  AReferencias : IBizReferencia;
begin
  AReferenciasController := TReferenciasController.Create;
  AReferencias := (AReferenciasController.BuscarTodos as IBizReferencia);
  AReferenciasController.VerTodos(AReferencias);
end;

procedure TPluginReferencias.actReferenciasUpdate(Sender: TObject);
begin
  (Sender as TAction).Enabled := Assigned(AppFactuGES.EmpresaActiva);
end;

constructor TPluginReferencias.Create(AOwner: TComponent);
begin
  inherited;
  uReferenciasViewRegister.RegisterViews;
end;

destructor TPluginReferencias.Destroy;
begin
  uReferenciasViewRegister.UnregisterViews;
  inherited;
end;

initialization
  RegisterModuleClass(TPluginReferencias);

finalization
  UnRegisterModuleClass(TPluginReferencias);

end.
