diff --git a/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas b/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas index bbff9649..409223f5 100644 --- a/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas +++ b/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas @@ -22,6 +22,10 @@ type procedure SetCliente(Value: IBizCliente); property Cliente: IBizCliente read GetCliente write SetCliente; + function GetID_Cliente: integer; + procedure SetID_Cliente(const Value: integer); + property ID_Cliente: integer read GetID_Cliente write SetID_Cliente; + function GetOnClienteChanged : TNotifyEvent; procedure SetOnClienteChanged (const Value : TNotifyEvent); property OnClienteChanged : TNotifyEvent read GetOnClienteChanged @@ -83,14 +87,16 @@ type function GetOnClienteChanged : TNotifyEvent; procedure SetOnClienteChanged (const Value : TNotifyEvent); procedure SetReadOnly(Value: Boolean); override; - + function GetID_Cliente: integer; + procedure SetID_Cliente(const Value: integer); public constructor Create(AOwner: TComponent); override; + destructor Destroy; override; property Controller: IClientesController read GetController write SetController; property Cliente: IBizCliente read GetCliente write SetCliente; property OnClienteChanged : TNotifyEvent read GetOnClienteChanged write SetOnClienteChanged; property MsgElegirCliente : String read GetMsgElegirCliente write SetMsgElegirCliente; - + property ID_Cliente: integer read GetID_Cliente write SetID_Cliente; end; implementation @@ -125,15 +131,15 @@ var ACliente : IBizCliente; begin inherited; - ACliente := (FController.Nuevo as IBizCliente); - FController.Ver(ACliente); + ACliente := (Controller.Nuevo as IBizCliente); + Controller.Ver(ACliente); Cliente := ACliente; end; procedure TfrViewDatosYSeleccionCliente.actVerContactoExecute(Sender: TObject); begin inherited; - FController.Ver(Cliente); + Controller.Ver(Cliente); end; procedure TfrViewDatosYSeleccionCliente.actVerContactoUpdate(Sender: TObject); @@ -146,6 +152,13 @@ constructor TfrViewDatosYSeleccionCliente.Create(AOwner: TComponent); begin inherited; FMsgElegirCliente := ''; + FController := NIL; +end; + +destructor TfrViewDatosYSeleccionCliente.Destroy; +begin + FController := NIL; + inherited; end; function TfrViewDatosYSeleccionCliente.GetCliente: IBizCliente; @@ -155,9 +168,18 @@ end; function TfrViewDatosYSeleccionCliente.GetController: IClientesController; begin + if not Assigned(FController) then + FController := TClientesController.Create; Result := FController; end; +function TfrViewDatosYSeleccionCliente.GetID_Cliente: integer; +begin + Result := -1; + if Assigned(FCliente) then + Result := FCliente.ID; +end; + function TfrViewDatosYSeleccionCliente.GetMsgElegirCliente: String; begin Result := FMsgElegirCliente; @@ -181,9 +203,17 @@ end; procedure TfrViewDatosYSeleccionCliente.SetController(Value: IClientesController); begin + if Assigned(FController) then + FController := NIL; + FController := Value; end; +procedure TfrViewDatosYSeleccionCliente.SetID_Cliente(const Value: integer); +begin + Self.Cliente := IBizCliente(Controller.Buscar(Value)); +end; + procedure TfrViewDatosYSeleccionCliente.SetMsgElegirCliente( const Value: String); begin