unit uVendedoresController; interface uses uCustomEditor, uContactosController, uBizContactos, uIEditorVendedores, uIEditorVendedor, uIDataModuleContactos, uIDataModuleVendedores; type IVendedoresController = interface(IContactosController) end; TVendedoresController = class(TContactosController, IVendedoresController) 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; end; implementation uses SysUtils, cxControls, Dialogs, uDataModuleVendedores, uEditorRegistryUtils, uDataTableUtils, uDADataTable, DB, schContactosClient_Intf; { TVendedoresController } function TVendedoresController.Buscar(const ID: Integer): IBizContacto; begin Result := (FDataModule as IDataModuleVendedores).GetItem(ID); FiltrarEmpresa(Result); end; function TVendedoresController.BuscarTodos: IBizContacto; begin Result := (FDataModule as IDataModuleVendedores).GetItems; FiltrarEmpresa(Result); end; constructor TVendedoresController.Create; begin inherited; FDataModule := TDataModuleVendedores.Create(Nil); end; function TVendedoresController.Nuevo: IBizContacto; var AContacto : IBizVendedor; begin AContacto := (FDataModule as IDataModuleVendedores).NewItem; FiltrarEmpresa(AContacto); AContacto.DataTable.Active := True; AContacto.Insert; Result := AContacto; end; procedure TVendedoresController.Ver(AContacto: IBizContacto); var AEditor : IEditorVendedor; begin CreateEditor('EditorVendedor', IEditorVendedor, AEditor); with AEditor do begin Contacto := AContacto; Controller := Self; ShowModal; end; end; procedure TVendedoresController.VerTodos(AContactos: IBizContacto); var AEditor : IEditorVendedores; begin CreateEditor('EditorVendedores', IEditorVendedores, AEditor); with AEditor do begin Contactos := AContactos; Controller := Self; ShowEmbedded; end; end; end.