unit uProvinciasPoblacionesController;

interface


uses
  Windows, Forms, Classes, Controls, Contnrs, SysUtils, uDataModuleProvinciasPoblaciones,
  uDADataTable, uControllerBase;

type
  IProvinciasPoblacionesController = interface(IControllerBase)
    ['{777EDE6C-DAB6-4D96-BA57-AE3DAF8A3F78}']
    function DarListaProvincias : TStringList;
    function DarListaPoblaciones (const AID_Provincia : Integer) : TStringList;
  end;

  TProvinciasPoblacionesController = class(TControllerBase, IProvinciasPoblacionesController)
  protected
    FDataModule : IDataModuleProvinciasPoblaciones;
  public
    function DarListaProvincias : TStringList;
    function DarListaPoblaciones (const AID_Provincia : Integer) : TStringList;
    destructor Destroy; override;
    constructor Create; override;
  end;

implementation

uses
  cxControls, DB, uFactuGES_App;

{ TProvinciasPoblacionesController }

constructor TProvinciasPoblacionesController.Create;
begin
  inherited;
  FDataModule := TDataModuleProvinciasPoblaciones.Create(NIL);
end;

function TProvinciasPoblacionesController.DarListaPoblaciones(
  const AID_Provincia: Integer): TStringList;
begin
  ShowHourglassCursor;
  try
    Result := FDataModule.DarListaPoblaciones(AID_Provincia);
  finally
    HideHourglassCursor;
  end;
end;

function TProvinciasPoblacionesController.DarListaProvincias: TStringList;
begin
  ShowHourglassCursor;
  try
    Result := FDataModule.DarListaProvincias;
  finally
    HideHourglassCursor;
  end;
end;

destructor TProvinciasPoblacionesController.Destroy;
begin
  FDataModule := NIL;
  inherited;
end;


end.
