IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'[dbo].[CP_SCA_ValidarFoto]') 
                   and OBJECTPROPERTY(id, N'IsProcedure') = 1 )
BEGIN
    DROP PROCEDURE dbo.CP_SCA_ValidarFoto
END
GO

CREATE PROCEDURE [dbo].[CP_SCA_ValidarFoto]	@pId_Cliente		INT, 
											@pId_Acceso			SMALLINT, 
											@pFecha				DATETIME, 
											@pTipoAcceso		CHAR(1), 
											@pFechaEvento		DATETIME,
											@Flag_ValidarFoto_Rta TINYINT OUTPUT
AS
BEGIN
DECLARE @Flag_Foto_Validar	TINYINT
DECLARE @Flag_Guarda_Base	TINYINT
DECLARE @Cli_Foto_Dir		VARCHAR(255)
DECLARE @Ruta_Foto			VARCHAR(255)

SET @Flag_Foto_Validar  = ISNULL((SELECT ISNULL(Flag_Foto_Validar, 0) FROM CD_Accesos WHERE Id_Acceso = @pId_Acceso), 0)
SET @Flag_Guarda_Base	= ISNULL(dbo.CF_xParam('Cli_Fotos_Base'), 0)

IF(@Flag_Foto_Validar = 1)
BEGIN
	IF(@Flag_Guarda_Base = 1)
	BEGIN
		/*Verifica si existe la foto en la base de datos*/
		SET @Flag_ValidarFoto_Rta = ISNULL((SELECT 1 FROM Clientes_Fotos WHERE Id_Cliente = @pId_Cliente), 0)
		
		RETURN ISNULL(@Flag_ValidarFoto_Rta, 0)
	END
	ELSE
	BEGIN
		/*Verificar si existe el archivo*/
		SET @Cli_Foto_Dir		= ISNULL(dbo.CF_xParam('Cli_Fotos_Dir'), '')
		SET @Ruta_Foto			= ISNULL((SELECT ISNULL(Foto, '') FROM Clientes WHERE Id_Cliente = @pId_Cliente), '')
		
		IF(@Ruta_Foto <> '')
		BEGIN
			CREATE TABLE #Archivos_Fotos
			(Nombre_Archivo VARCHAR(255),
			Profundidad SMALLINT,
			Flag_Es_Archivo SMALLINT)
		
			INSERT INTO #Archivos_Fotos
			EXEC xp_dirtree @Cli_Foto_Dir, 1, 1
			
			SET @Flag_ValidarFoto_Rta = ISNULL((SELECT MAX(1) FROM #Archivos_Fotos WHERE (@Cli_Foto_Dir + '\' + Nombre_Archivo) = @Ruta_Foto), 0)
		
			DROP TABLE #Archivos_Fotos
		END
		ELSE
		BEGIN
			SET @Flag_ValidarFoto_Rta = 0
		END
		
		RETURN ISNULL(@Flag_ValidarFoto_Rta, 0)
				
	END		
END

RETURN ISNULL(@Flag_ValidarFoto_Rta, 1)

END