From 92da1b8c794f73df6bbd4db10a52d68fc5c11987 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 10 Jul 2008 16:02:08 +0000 Subject: [PATCH] =?UTF-8?q?Nuevo=20m=C3=A9todo=20BuscarID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@270 f4e31baf-9722-1c47-927c-6f952f962d4b --- .../Controller/uTiposIVAController.pas | 46 ++++++++++++++----- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas b/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas index 3df6e846..1ea819e8 100644 --- a/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas +++ b/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas @@ -10,9 +10,9 @@ ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== - Fecha primera versión: + Fecha primera versión: Versión actual: 1.0.0 - Fecha versión actual: + Fecha versión actual: =============================================================================== Modificaciones: @@ -39,7 +39,8 @@ type function Duplicar(ATipoIVA: IBizTipoIVA): IBizTipoIVA; function Buscar(const ID: Integer): IBizTipoIVA; - function BuscarTodos: IBizTipoIVA; + function BuscarID(ADescripcion: String): Integer; + function BuscarTodos: IBizTipoIVA; procedure VerTodos(ATiposIVA: IBizTipoIVA); procedure Ver(ATipoIVA: IBizTipoIVA); function Localizar(ATiposIVA: IBizTipoIVA; ADescripcion:String): Boolean; @@ -48,6 +49,7 @@ type end; TTiposIVAController = class(TObservador, ITiposIVAController) + private protected FDataModule : IDataModuleTiposIVA; @@ -66,6 +68,7 @@ type function Duplicar(ATipoIVA: IBizTipoIVA): IBizTipoIVA; function Buscar(const ID: Integer): IBizTipoIVA; + function BuscarID(ADescripcion: String): Integer; function BuscarTodos: IBizTipoIVA; procedure VerTodos(ATiposIVA: IBizTipoIVA); procedure Ver(ATipoIVA: IBizTipoIVA); @@ -107,6 +110,25 @@ begin AsignarDataModule; end; + +function TTiposIVAController.BuscarID(ADescripcion: String): Integer; +var + ATipoIVA : IBizTipoIVA; +begin + Result := -1; + ShowHourglassCursor; + ATipoIVA := BuscarTodos; + try + ATipoIVA.Open; + if Localizar(ATipoIVA, ADescripcion) then + Result := ATipoIVA.ID; + finally + ATipoIVA := NIL; + HideHourglassCursor; + end; +end; + + function TTiposIVAController.Buscar(const ID: Integer): IBizTipoIVA; begin Result := (FDataModule as IDataModuleTiposIVA).GetItem(ID); @@ -190,8 +212,6 @@ end; function TTiposIVAController.ValidarTipoIVA(ATipoIVA: IBizTipoIVA): Boolean; begin - Result := False; - if not Assigned(ATipoIVA) then raise Exception.Create ('TipoIVA no asignado'); @@ -251,8 +271,6 @@ end; function TTiposIVAController.Eliminar(ATipoIVA: IBizTipoIVA): Boolean; begin - Result := False; - if not Assigned(ATipoIVA) then raise Exception.Create ('TipoIVA no asignado'); @@ -293,11 +311,17 @@ begin try with ATiposIVA.DataTable do begin + if not Active then + Open; + DisableControls; - First; - if not Locate(fld_TiposIVADESCRIPCION, ADescripcion, []) then - Result := False; - EnableControls; + try + First; + if not Locate(fld_TiposIVADESCRIPCION, ADescripcion, []) then + Result := False; + finally + EnableControls; + end; end; finally HideHourglassCursor;