AbetoDesign_FactuGES2/Source/Modulos/Gestor de informes/Views/uViewFiltroClientes.pas

115 lines
3.0 KiB
ObjectPascal

unit uViewFiltroClientes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit,
StdCtrls, Buttons, TBXDkPanels, uViewParametrosInforme, uBizContactos,
uClientesController, uIViewFiltroClientes;
type
TfrViewFiltroClientes = class(TfrViewParametrosInforme, IViewFiltroClientes)
TBXLabel2: TTBXLabel;
rbTodosClientes: TRadioButton;
rbUnCliente: TRadioButton;
cbxDesglosado: TCheckBox;
bElegirCliente: TBitBtn;
edtCliente: TcxTextEdit;
procedure rbTodosClientesClick(Sender: TObject);
procedure rbUnClienteClick(Sender: TObject);
procedure CustomViewCreate(Sender: TObject);
procedure bElegirClienteClick(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
private
FCliente : IBizCliente;
FClientesController : IClientesController;
function getIdCliente: Integer;
procedure setIdCliente(const IdCliente:Integer);
public
property IdCliente : Integer read getIdCliente write setIdCliente;
property Cliente : IBizCliente read FCliente;
end;
implementation
{$R *.dfm}
procedure TfrViewFiltroClientes.bElegirClienteClick(Sender: TObject);
var
AClientes : IBizCliente;
begin
inherited;
AClientes := IBizCliente(FClientesController.BuscarTodos);
try
FCliente := IBizCliente(FClientesController.ElegirContacto(AClientes, '', False));
if Assigned(FCliente) then
begin
FCliente.Open;
edtCliente.Text := FCliente.NOMBRE;
end;
finally
AClientes := NIL;
end;
end;
procedure TfrViewFiltroClientes.CustomViewCreate(Sender: TObject);
begin
inherited;
FCliente := NIL;
FClientesController := NIL;
end;
procedure TfrViewFiltroClientes.CustomViewDestroy(Sender: TObject);
begin
inherited;
FCliente := NIL;
FClientesController := NIL;
end;
function TfrViewFiltroClientes.getIdCliente: Integer;
begin
Result := FCliente.ID;
end;
procedure TfrViewFiltroClientes.rbTodosClientesClick(Sender: TObject);
begin
if rbTodosClientes.Checked then
begin
cbxDesglosado.Enabled := True;
FCliente := NIL;
bElegirCliente.Enabled := False;
edtCliente.Clear;
edtCliente.Enabled := False;
end;
end;
procedure TfrViewFiltroClientes.rbUnClienteClick(Sender: TObject);
begin
if rbUnCliente.Checked then
begin
cbxDesglosado.Enabled := False;
bElegirCliente.Enabled := True;
edtCliente.Enabled := True;
if not Assigned(FClientesController) then
FClientesController := TClientesController.Create;
end;
end;
procedure TfrViewFiltroClientes.setIdCliente(const IdCliente: Integer);
begin
if not Assigned(FClientesController) then
FClientesController := TClientesController.Create;
FCliente := IBizCliente(FClientesController.Buscar(IdCliente));
if Assigned(FCliente) then
begin
FCliente.Open;
edtCliente.Text := FCliente.NOMBRE;
end;
end;
end.