unit uPluginFacturasCliente;

interface

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

type
  IMCFacturasCliente = interface(IInterface)
  ['{8E559C5E-2878-48DB-9A87-9F82678E984F}']
  end;

  TPluginFacturasCliente = class(TModuleController, IMCFacturasCliente)
    actFacturasCliente: TAction;
    ExtraImages: TPngImageList;
    LargeImages: TPngImageList;
    MainMenu: TMainMenu;
    ModuleActionList: TActionList;
    SmallImages: TPngImageList;
    Ventas1: TMenuItem;
    Facturasdecliente1: TMenuItem;
    procedure actFacturasClienteExecute(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;

implementation

{$R *.dfm}

uses
  Forms, Dialogs, SysUtils, uFactuGES_App,
  uFacturasClienteController, uBizFacturasCliente, uFacturasClienteViewRegister;

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

exports
  GetModule name GET_MODULE_FUNC;

procedure TPluginFacturasCliente.actFacturasClienteExecute(Sender: TObject);
var
  AFacturasClienteController : IFacturasClienteController;
  AFacturasCliente : IBizFacturaCliente;

begin
  AFacturasClienteController := TFacturasClienteController.Create;
  AFacturasCliente := (AFacturasClienteController.BuscarTodos as IBizFacturaCliente);
  AFacturasClienteController.VerTodos(AFacturasCliente);
end;

constructor TPluginFacturasCliente.Create(AOwner: TComponent);
begin
  inherited;
  uFacturasClienteViewRegister.RegisterViews;

  //El usuario vendedor y logistica será restringido
  if ((AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_LOGISTICA) OR (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR)) then
  begin
     actFacturasCliente.Visible := False;
     actFacturasCliente.Visible := False;
  end;

end;

destructor TPluginFacturasCliente.Destroy;
begin
  uFacturasClienteViewRegister.UnregisterViews;
  inherited;
end;

initialization
  RegisterModuleClass(TPluginFacturasCliente);

finalization
  UnRegisterModuleClass(TPluginFacturasCliente);

end.
