git-svn-id: https://192.168.0.254/svn/Proyectos.ConstruccionesCNJ_FactuGES/trunk@4 6cb6b671-b4a0-dd4c-8bdc-3006503d97e9
115 lines
2.8 KiB
ObjectPascal
115 lines
2.8 KiB
ObjectPascal
unit uClientesController;
|
|
|
|
interface
|
|
|
|
uses
|
|
uCustomEditor,
|
|
uContactosController, uBizContactos,
|
|
uIEditorClientes, uIEditorCliente, uIDataModuleContactos, uIDataModuleClientes;
|
|
|
|
type
|
|
IClientesController = interface(IContactosController)
|
|
end;
|
|
|
|
TClientesController = class(TContactosController, IClientesController)
|
|
public
|
|
constructor Create; override;
|
|
|
|
function Buscar(const ID: Integer): IBizContacto; override;
|
|
function BuscarTodos: IBizContacto; override;
|
|
function Nuevo : IBizContacto; override;
|
|
procedure Ver(AContacto : IBizContacto); override;
|
|
procedure VerTodos(AContactos: IBizContacto); override;
|
|
function ElegirContacto(AContactos : IBizContacto;
|
|
AMensaje: String; AMultiSelect: Boolean): IBizContacto; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
SysUtils, Controls, cxControls, Dialogs, uDataModuleClientes, uEditorRegistryUtils,
|
|
uDataTableUtils, uDADataTable, DB, schContactosClient_Intf,
|
|
uIEditorElegirClientes;
|
|
|
|
{ TClientesController }
|
|
|
|
function TClientesController.Buscar(const ID: Integer): IBizContacto;
|
|
begin
|
|
Result := (FDataModule as IDataModuleClientes).GetItem(ID);
|
|
FiltrarEmpresa(Result);
|
|
end;
|
|
|
|
function TClientesController.BuscarTodos: IBizContacto;
|
|
begin
|
|
Result := (FDataModule as IDataModuleClientes).GetItems;
|
|
FiltrarEmpresa(Result);
|
|
end;
|
|
|
|
constructor TClientesController.Create;
|
|
begin
|
|
inherited;
|
|
FDataModule := TDataModuleClientes.Create(Nil);
|
|
end;
|
|
|
|
function TClientesController.ElegirContacto(AContactos : IBizContacto;
|
|
AMensaje: String; AMultiSelect: Boolean): IBizContacto;
|
|
var
|
|
AEditor : IEditorElegirClientes;
|
|
begin
|
|
Result := NIL;
|
|
|
|
CreateEditor('EditorElegirClientes', IEditorElegirClientes, AEditor);
|
|
try
|
|
with AEditor do
|
|
begin
|
|
Contactos := AContactos;
|
|
Controller := Self;
|
|
MultiSelect := AMultiSelect;
|
|
Mensaje := AMensaje;
|
|
if IsPositiveResult(ShowModal) then
|
|
Result := ContactosSeleccionados;
|
|
end;
|
|
finally
|
|
AEditor := NIL;
|
|
end;
|
|
end;
|
|
|
|
function TClientesController.Nuevo: IBizContacto;
|
|
var
|
|
AContacto : IBizCliente;
|
|
begin
|
|
AContacto := (FDataModule as IDataModuleClientes).NewItem;
|
|
FiltrarEmpresa(AContacto);
|
|
AContacto.DataTable.Active := True;
|
|
AContacto.Insert;
|
|
Result := AContacto;
|
|
end;
|
|
|
|
procedure TClientesController.Ver(AContacto: IBizContacto);
|
|
var
|
|
AEditor : IEditorCliente;
|
|
begin
|
|
CreateEditor('EditorCliente', IEditorCliente, AEditor);
|
|
with AEditor do
|
|
begin
|
|
Contacto := AContacto;
|
|
Controller := Self;
|
|
ShowModal;
|
|
end;
|
|
end;
|
|
|
|
procedure TClientesController.VerTodos(AContactos: IBizContacto);
|
|
var
|
|
AEditor : IEditorClientes;
|
|
begin
|
|
CreateEditor('EditorClientes', IEditorClientes, AEditor);
|
|
with AEditor do
|
|
begin
|
|
Contactos := AContactos;
|
|
Controller := Self;
|
|
ShowEmbedded;
|
|
end;
|
|
end;
|
|
|
|
end.
|