unit uEditorListaAlmacenes;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxGraphics, cxControls, cxContainer, cxEdit, cxTextEdit,
  cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,
  cxDBLookupComboBox, DB, uDADataTable, uCustomView, uViewBase,
  uViewBarraSeleccion, uBizAlmacenes, ExtCtrls, StdCtrls,
  Grids, DBGrids, uIEditorListaAlmacenes;

type
  TfEditorListaAlmacenes = class(TForm, IEditorListaAlmacenes)
    DADataSource: TDADataSource;
    Label1: TLabel;
    Label5: TLabel;
    Bevel1: TBevel;
    cxAlmacenes: TcxLookupComboBox;
    pnlSeleccion: TPanel;
    bSeleccionar: TButton;
    bCancelar: TButton;
  private
    FAlmacenes: IBizAlmacen;
    function GetAlmacenes: IBizAlmacen;
    procedure SetAlmacenes(const Value: IBizAlmacen);
    procedure localizarAlmacen;
    function GetAlmacenSeleccionado: IBizAlmacen;
  public
    property Almacenes: IBizAlmacen read GetAlmacenes write SetAlmacenes;
    property AlmacenSeleccionado: IBizAlmacen read GetAlmacenSeleccionado;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;

implementation
{$R *.dfm}

uses uDataModuleAlmacenes, schAlmacenesClient_Intf;

{ TfListaAlmacenes }

constructor TfEditorListaAlmacenes.Create(AOwner: TComponent);
begin
  inherited;
end;

destructor TfEditorListaAlmacenes.Destroy;
begin
  FAlmacenes := Nil;
  inherited;
end;

function TfEditorListaAlmacenes.GetAlmacenes: IBizAlmacen;
begin
  Result := FAlmacenes;
end;

function TfEditorListaAlmacenes.GetAlmacenSeleccionado: IBizAlmacen;
begin
  localizarAlmacen;
  Result := FAlmacenes;
end;

procedure TfEditorListaAlmacenes.localizarAlmacen;
begin
  FAlmacenes.First;
  FAlmacenes.Locate(fld_ALMACENESNOMBRE, cxAlmacenes.Text);
end;

procedure TfEditorListaAlmacenes.SetAlmacenes(const Value: IBizAlmacen);
begin
  FAlmacenes := Value;
  if Assigned(FAlmacenes) then
  begin
    DADataSource.DataTable := FAlmacenes.DataTable;
    FAlmacenes.DataTable.Active := True;
    cxAlmacenes.ItemIndex := 0;
  end
  else
    DADataSource.DataTable := Nil;
end;

end.
