unit uArticulosPresupuestoClienteController;

interface

uses
  uDADataTable, uArticulosController, uBizArticulos;

type
  IArticulosPresupuestoClienteController = interface(IArticulosController)
  ['{B334F1FC-65B7-4E77-8D1B-A7CF12F6CF3C}']
  end;

  TArticulosPresupuestoClienteController = class(TArticulosController, IArticulosPresupuestoClienteController)
  public
    function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override;
  end;

implementation

{ TArticulosPresupuestoClienteController }

uses Controls, cxControls, uIEditorElegirArticulosPresupuestosCliente, uIEditorElegirArticulos;

function TArticulosPresupuestoClienteController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String;
  AMultiSelect: Boolean): IBizArticulo;
var
  AEditor : IEditorElegirArticulosPresupuestosCliente;
begin
  Result := NIL;
  ShowHourglassCursor;
  try
    CreateEditor('EditorElegirArticulosPresupuestosCliente', IEditorElegirArticulosPresupuestosCliente, AEditor);
    if Assigned(AEditor) then
       with AEditor do
       begin
         Controller := Self;
         Articulos := AArticulos;
         MultiSelect := AMultiSelect;
         Mensaje := AMensaje;
         if IsPositiveResult(ShowModal) then
            Result := ArticulosSeleccionados;
         Release;
       end;
  finally
    AEditor := NIL;
    HideHourglassCursor;
  end;
end;

end.
