unit uViewParametrosCentro;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, dxLayoutControl, StdCtrls, Mask, JvExMask, JvToolEdit,
  JvCombobox, cxControls, uViewParametrosControlGrid, TBXDkPanels,
  uBizParametros;

type
  IViewParametrosCentro = interface(IViewParametrosControlGrid)
    ['{AE4FC794-6D44-40A0-A138-09286870CBB0}']

    function GetCentrosSeleccionados: TStringList;
    property CentrosSeleccionados : TStringList read GetCentrosSeleccionados;
  end;

  TfrViewParametrosCentro = class(TfrViewParametrosControlGrid, IViewParametrosCentro)
    dxLayoutControl1Group_Root: TdxLayoutGroup;
    dxLayoutControl1: TdxLayoutControl;
    dxLayoutControl1Item1: TdxLayoutItem;
    ccbCentro: TJvCheckedComboBox;
  private
    FCentros : IBizCentros;
    procedure RellenarListaCentros;
    function GetCentrosSeleccionados: TStringList;
  public
    procedure Execute; override;
    procedure Refresh; override;
    property CentrosSeleccionados : TStringList read GetCentrosSeleccionados;
  end;

implementation

uses
  uDataModuleParametros, uDADataTable;

{$R *.dfm}

{ TfrViewParametrosCentro }

procedure TfrViewParametrosCentro.Execute;
begin
  // inherited; <- no descomentar
end;

function TfrViewParametrosCentro.GetCentrosSeleccionados: TStringList;
var
  i : integer;
begin
  Result := TStringList.Create;

  FCentros.DataTable.First;
  for i := 0 to ccbCentro.Items.Count - 1 do
  begin
    if ccbCentro.Checked[i] then
      Result.Add(FCentros.CODBARRA);
    FCentros.DataTable.Next;
  end;
end;

procedure TfrViewParametrosCentro.Refresh;
begin
  // inherited; <- no descomentar
  RellenarListaCentros;
end;

procedure TfrViewParametrosCentro.RellenarListaCentros;
var
  i : Integer;
begin
  FCentros := dmParametros.GetCentros;
  ccbCentro.Items.BeginUpdate;

  ShowHourglassCursor;
  try
    ccbCentro.Items.Clear;
    FCentros.DataTable.Active := True;
    for i := 0 to FCentros.DataTable.RecordCount - 1 do
    begin
      ccbCentro.Items.Add(FCentros.FILIAL);
      FCentros.DataTable.Next;
    end;
  finally
    ccbCentro.Items.EndUpdate;
    HideHourglassCursor;
  end;
end;

end.
