unit uPluginPresupuestos;

interface

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

type
  IMCPresupuestos = interface(IInterface)
  ['{9DCF9496-0828-488F-BB26-98E9709E8EB7}']
  end;
  
  TPluginPresupuestos = class(TModuleController, IMCPresupuestos)
    actPresupuestos: TAction;
    ExtraImages: TPngImageList;
    LargeImages: TPngImageList;
    MainMenu: TMainMenu;
    ModuleActionList: TActionList;
    SmallImages: TPngImageList;
    Ventas1: TMenuItem;
    Presupuestosdecliente1: TMenuItem;
    N1: TMenuItem;
    procedure actPresupuestosExecute(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;
  
implementation

{$R *.dfm}

uses
  Forms, Dialogs, SysUtils,
  uPresupuestosController, uBizPresupuestos, uPresupuestosViewRegister; 

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

exports
  GetModule name GET_MODULE_FUNC;

procedure TPluginPresupuestos.actPresupuestosExecute(Sender: TObject);
var
  APresupuestosController : IPresupuestosController;
  APresupuestos : IBizPresupuesto;

begin
  APresupuestosController := TPresupuestosController.Create;
  APresupuestos := (APresupuestosController.BuscarTodos as IBizPresupuesto);
  APresupuestosController.VerTodos(APresupuestos);
end;

constructor TPluginPresupuestos.Create(AOwner: TComponent);
begin
  inherited;
  uPresupuestosViewRegister.RegisterViews;
end;

destructor TPluginPresupuestos.Destroy;
begin
  uPresupuestosViewRegister.UnregisterViews;
  inherited;
end;

initialization
  RegisterModuleClass(TPluginPresupuestos);

finalization
  UnRegisterModuleClass(TPluginPresupuestos);

end.
