I have a project in C # ASP.NET and I am consuming an Oracle package in a login which receives three variables UserName , Password , application_id The code that I have is the following one and it receives me the data and everything: only that when it arrives at the printing it throws me error I would appreciate your help.
protected void AutenticarUsuario()
{
var output = new System.Data.Objects.ObjectParameter("p_COD_ERROR", typeof(string));
var output2 = new System.Data.Objects.ObjectParameter("p_MSG_ERROR", typeof(string));
var auten = conn0.PKG_ETP_GESTION_USUARIO_AUTENTICARUSUARIO(Login1.UserName, Login1.Password, '1', output, output2);
string auten2 = auten.ToString();}
My PS Oracle code is:
BEGIN
SELECT COUNT(A.ID) into contador FROM APLICACIONES A WHERE A.ID = p_id_aplicacion AND LOWER(A.ACTIVO) = LOWER('1');
IF contador > 0 THEN
SELECT COUNT(U.LOGIN) into contador FROM USUARIOS U WHERE U.LOGIN = p_login AND LOWER(U.ACTIVO) = LOWER('1');
IF contador > 0 THEN
SELECT COUNT(U.LOGIN) into contador FROM USUARIOS U WHERE U.LOGIN = p_login AND LOWER(U.ACTIVO) = LOWER('1')
AND U.PASSWORD = p_password;
IF contador > 0 THEN
SELECT COUNT(U.LOGIN) into contador FROM USUARIOS U
INNER JOIN USUARIOSROLES UR ON UR.IDUSUARIOS = U.IDUSUARIOS
INNER JOIN ROLES R ON UR.IDROL=R.IDROL
INNER JOIN APLICACIONES A on A.id=R.IDAPLICACION
WHERE U.LOGIN = p_login AND LOWER(U.ACTIVO) = LOWER('1')
AND U.PASSWORD = p_password AND A.ID = p_id_aplicacion; IF contador > 0 THEN
OPEN p_info_usuario_cur FOR
SELECT U.login,U.idusuarios ,U.nombre ,U.email,
U.activo, U.ultimologin, U.fechacrea, U.fechamodi, U.usuariocrea,
U.usuariomodi
FROM usuarios U
WHERE U.LOGIN = p_login AND LOWER(U.ACTIVO) = LOWER('1')
AND U.PASSWORD = p_password;
OPEN p_roles_usuario_cur FOR
SELECT R.IDROL, R.NOMBRE FROM ROLES R
INNER JOIN APLICACIONES A on A.id=R.IDAPLICACION
INNER JOIN USUARIOSROLES UR ON UR.IDROL=R.IDROL
INNER JOIN USUARIOS U ON UR.IDUSUARIOS = U.IDUSUARIOS
WHERE U.LOGIN = p_login AND LOWER(U.ACTIVO) = LOWER('1')
AND U.PASSWORD = p_password AND A.ID = p_id_aplicacion;
ELSE
p_cod_error := 103;
p_msg_error := 'Aplicación o roles no asignados al usuario';
END IF;
ELSE
p_cod_error := 102;
p_msg_error := 'Credenciales incorrectas';
END IF;
ELSE
p_cod_error := 100;
p_msg_error := 'Usuario inactivo';
END IF;
ELSE
p_cod_error := 101;
p_msg_error := 'Aplicación no existe';
END IF;