unit uPluginContratosCliente;

interface

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

type
//CAMBIAR DE SITIO
  IMCContratosCliente = interface(IInterface)
  ['{40408746-83CA-42C9-A8BA-3EF26302163C}']
  end;

  TPluginContratosCliente = class(TModuleController, IMCContratosCliente)
    actContratosCliente: TAction;
    ExtraImages: TPngImageList;
    LargeImages: TPngImageList;
    MainMenu: TMainMenu;
    ModuleActionList: TActionList;
    SmallImages: TPngImageList;
    Ventas1: TMenuItem;
    PresupuestosdeCliente1: TMenuItem;
    actInfContratos: TAction;
    procedure actContratosClienteExecute(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;

    procedure VerPresupuestos(const ID_Cliente: Integer;
      const ANombreCliente : String = '');
  end;

implementation

{$R *.dfm}

uses
  Forms, Dialogs, SysUtils, cxControls,
  uContratosClienteController, uBizContratosCliente, uContratosClienteViewRegister;

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

exports
  GetModule name GET_MODULE_FUNC;

procedure TPluginContratosCliente.actContratosClienteExecute(Sender: TObject);
var
  AContratosClienteController : IContratosClienteController;
  AContratosCliente : IBizContratoCliente;

begin
  AContratosClienteController := TContratosClienteController.Create;
  AContratosCliente := AContratosClienteController.BuscarTodos;
  AContratosClienteController.VerTodos(AContratosCliente);
end;

constructor TPluginContratosCliente.Create(AOwner: TComponent);
begin
  inherited;
//  ModuleName := MODULENAME_PRESUPUESTOS_CLIENTE;
  uContratosClienteViewRegister.RegisterViews;
end;

destructor TPluginContratosCliente.Destroy;
begin
  uContratosClienteViewRegister.UnregisterViews;
  inherited;
end;

procedure TPluginContratosCliente.VerPresupuestos(const ID_Cliente: Integer;
  const ANombreCliente : String = '');
var
  AContratosClienteController : IContratosClienteController;
  AContratosCliente : IBizContratoCliente;
  AText : String;
begin
//  AText := Format('Lista de presupuestos de cliente - %s', [ANombreCliente]);
  AContratosClienteController := TContratosClienteController.Create;
  try
    ShowHourglassCursor;
    try
      AContratosCliente := AContratosClienteController.BuscarTodos(ID_Cliente);      
    finally
      HideHourglassCursor;
    end;
    AContratosClienteController.VerTodos(AContratosCliente, True, AText);
  finally
    AContratosCliente := NIL;
    AContratosClienteController := NIL;
  end;
end;

initialization
  RegisterModuleClass(TPluginContratosCliente);

finalization
  UnRegisterModuleClass(TPluginContratosCliente);

end.
