unit uArticulosAlbaranProveedorController;

interface

uses
  uDADataTable, uArticulosController, uBizArticulos, uBizContactos;

type
  IArticulosAlbaranProveedorController = interface(IArticulosController)
  ['{8E3C2FF0-9D42-461C-BF14-6E77843E4173}']
    function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo;
  end;

  TArticulosAlbaranProveedorController = class(TArticulosController, IArticulosAlbaranProveedorController)
  public
    function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; overload;
  end;

implementation

{ TArticulosAlbaranProveedorController }

uses Controls, cxControls, uIEditorElegirArticulosAlbaranesProveedor, uIEditorElegirArticulos;

function TArticulosAlbaranProveedorController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo;
var
  AEditor : IEditorElegirArticulosAlbaranesProveedor;
begin
  Result := NIL;
  CreateEditor('EditorElegirArticulosAlbaranesProveedor', IEditorElegirArticulosAlbaranesProveedor, AEditor);
  if Assigned(AEditor) then
    try
      AEditor.Controller := Self;
      AEditor.Articulos := AArticulos;
      AEditor.Proveedor := AProveedor;
      AEditor.MultiSelect := AMultiSelect;
      AEditor.Mensaje := AMensaje;
      if IsPositiveResult(AEditor.ShowModal) then
         Result := AEditor.ArticulosSeleccionados;
    finally
      AEditor.Release;
      AEditor := NIL;
    end;
end;

end.
