unit uPluginGestorInformes;

interface

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

type
  IMCGestorInformes = interface(IInterface)
  ['{D44E1560-BF8F-4DA2-BF64-E0A44C08AC01}']
  end;

  TPluginGestorInformes = class(TModuleController, IMCGestorInformes)
    ExtraImages: TPngImageList;
    LargeImages: TPngImageList;
    MainMenu: TMainMenu;
    ModuleActionList: TActionList;
    SmallImages: TPngImageList;
    Informes1: TMenuItem;
    actInformeFacturasCliente: TAction;
    Listadodefacturasdecliente1: TMenuItem;
    actInformeFacturasClientePendientes: TAction;
    actInformeFacturasClienteIVA: TAction;
    Listadodefacturasdeclientependientes1: TMenuItem;
    ListadodeIVAdefacturasdecliente1: TMenuItem;
    actInformeRecibosCliente: TAction;
    N1: TMenuItem;
    N2: TMenuItem;
    actInformeRecibosCliPendientes: TAction;
    Listadoderecibosdeclientependientes1: TMenuItem;
    actInformeFacturasProveedor: TAction;
    actInformeFacturasProveedorPendientes: TAction;
    actInformeFacturasProveedorIVA: TAction;
    actInformeRecibosProveedor: TAction;
    actInformeRecibosProvPendientes: TAction;
    N3: TMenuItem;
    Listadodefacturasdeproveedor1: TMenuItem;
    Listadodefacturasdeproveedorpendientes1: TMenuItem;
    ListadodeIVAdefacturasdeproveedor1: TMenuItem;
    N4: TMenuItem;
    Listadoderecibosdeproveedor1: TMenuItem;
    Listadoderecibosdeproveedorpendientes1: TMenuItem;
    procedure actInformeFacturasClienteExecute(Sender: TObject);
    procedure actInformeFacturasClientePendientesExecute(Sender: TObject);
    procedure actInformeFacturasClienteIVAExecute(Sender: TObject);
    procedure actInformeRecibosClienteExecute(Sender: TObject);
    procedure actInformeRecibosCliPendientesExecute(Sender: TObject);
    procedure actInformeFacturasProveedorExecute(Sender: TObject);
    procedure actInformeFacturasProveedorPendientesExecute(Sender: TObject);
    procedure actInformeFacturasProveedorIVAExecute(Sender: TObject);
    procedure actInformeRecibosProveedorExecute(Sender: TObject);
    procedure actInformeRecibosProvPendientesExecute(Sender: TObject);
  private
    FController : IGestorInformesController;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;

implementation

{$R *.dfm}

uses
  Forms, Dialogs, SysUtils,
  uGestorInformesViewRegister;

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

exports
  GetModule name GET_MODULE_FUNC;

procedure TPluginGestorInformes.actInformeFacturasClienteExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoFacturasCli;
end;

procedure TPluginGestorInformes.actInformeFacturasClienteIVAExecute(
  Sender: TObject);
begin
  FController.VerInformeIVAClientes;
end;

procedure TPluginGestorInformes.actInformeFacturasClientePendientesExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoFacturasCliPendientes;
end;

procedure TPluginGestorInformes.actInformeFacturasProveedorExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoFacturasProv;
end;

procedure TPluginGestorInformes.actInformeFacturasProveedorIVAExecute(
  Sender: TObject);
begin
  FController.VerInformeIVAProveedores;
end;

procedure TPluginGestorInformes.actInformeFacturasProveedorPendientesExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoFacturasProvPendientes;
end;

procedure TPluginGestorInformes.actInformeRecibosClienteExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoRecibosCliente;
end;

procedure TPluginGestorInformes.actInformeRecibosCliPendientesExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoRecibosCliPendientes;
end;

procedure TPluginGestorInformes.actInformeRecibosProveedorExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoRecibosProveedor;
end;

procedure TPluginGestorInformes.actInformeRecibosProvPendientesExecute(
  Sender: TObject);
begin
  FController.VerInformeListadoRecibosProvPendientes;
end;

constructor TPluginGestorInformes.Create(AOwner: TComponent);
begin
  inherited;
  uGestorInformesViewRegister.RegisterViews;
  FController := TGestorInformesController.Create;
end;

destructor TPluginGestorInformes.Destroy;
begin
  FController := NIL;
  uGestorInformesViewRegister.UnregisterViews;
  inherited;
end;

initialization
  RegisterModuleClass(TPluginGestorInformes);

finalization
  UnRegisterModuleClass(TPluginGestorInformes);

end.
