<%@ Language=VBScript %>
<!--#INCLUDE file="ADOVBS.inc"-->
<%

dim str_clave
dim STR_CONSULTA, RES_DATOS, Cnn
dim str_clave_prueba(30), str_prueba(30)

str_empresa= Request.Cookies("sieps")("empresa")
str_usuario= Request.Cookies("sieps")("usuario_clave")


for i=1 to 30
	str_prueba(i)=""
next

str_bd= application("bd_sieps")

set Cnn = server.CreateObject ("ADODB.Connection")
set RES_DATOS = server.CreateObject ("ADODB.Recordset")

Cnn.Open str_bd
   
STR_CONSULTA = "SELECT prue_clave FROM pruebas ORDER BY prue_orden" 
RES_DATOS.Open STR_CONSULTA, cnn,adOpenForwardOnly,adLockReadOnly,1
i=0
int_contador=0
if res_datos.EOF= FALSE THEN
	Do Until RES_DATOS.EOF 
		int_contador=int_contador+1
		str_clave_prueba(int_contador)= RES_DATOS.Fields("prue_clave")
		RES_DATOS.MoveNext
	loop
end if
RES_DATOS.Close

int_num_prueba=0
for i=1 to	int_contador
	if Request.Form(str_clave_prueba(i))="on" then
		int_num_prueba=int_num_prueba+1
		str_prueba(int_num_prueba)=str_clave_prueba(i)
	end if
next

str_accion = Request.form("accion")
str_clave = Request.Form("TXT_CLAVE")
str_nombre = replace(replace(Request.Form("TXT_NOMBRE"),"'"," "),chr(34)," ")
str_proceso= Request.QueryString("proceso")
int_estatus = Request.Form("RDO_ESTATUS")
if int_estatus=1 then
	str_estatus="Activo"
else
	str_estatus="Desactivo"
end if

str_fecha_actual = month(now)&"/"&day(now)&"/"& year(now)
str_mensaje_error=""
SELECT CASE str_accion
	CASE "aceptar"
		if str_proceso="alta" then ' si es una alta
			STR_CONSULTA = "SELECT * FROM perfil WHERE perf_clave ='" & str_clave  & "' AND clie_clave ='" & str_empresa & "'"
			RES_DATOS.Open STR_CONSULTA, Cnn,adOpenForwardOnly,adLockReadOnly,1
			IF RES_DATOS.EOF = true then ' si no existe
				STR_CONSULTA = "INSERT INTO perfil(perf_clave, perf_nombre, clie_clave, perf_estatus, usua_clave, fecha_captura) VALUES('" & str_clave & "', '" & str_nombre & "', '" & str_empresa & "','" & str_estatus & "','" & str_usuario & "','" & str_fecha_actual & "')"
				Cnn.Execute STR_CONSULTA,,1
			else
				str_mensaje_error= "Ya existe un nivel con esta clave."			
			end if
			RES_DATOS.Close				
		else		' si es un cambio
			' busca registro
			STR_CONSULTA = "UPDATE perfil SET perf_nombre='" & str_nombre & "', perf_estatus ='"& str_estatus &"', usua_clave ='"& str_usuario &"', fecha_captura ='"& str_fecha_actual &"' WHERE perf_clave ='" & str_clave & "' AND clie_clave ='" & str_empresa & "';"
			Cnn.Execute STR_CONSULTA,,1
		end if

		' graba bateria de pruebas
		Cnn.BeginTrans
			' elimina existentes			
		STR_CONSULTA = "DELETE FROM perfil_pruebas WHERE perf_clave ='" & str_clave & "' AND clie_clave ='" & str_empresa & "';"
		Cnn.Execute STR_CONSULTA,,1
		for i=1 to	int_num_prueba
			STR_CONSULTA = "INSERT INTO perfil_pruebas(perf_clave, prue_clave, clie_clave) VALUES('" & str_clave & "', '" & str_prueba(i) & "', '" & str_empresa & "')"
			Cnn.Execute STR_CONSULTA,,1
		next		
		Cnn.CommitTrans

	CASE "eliminar"


		STR_CONSULTA = "SELECT perf_clave FROM puestos WHERE perf_clave ='" & str_clave  & "' AND clie_clave ='" & str_empresa & "'"
		RES_DATOS.Open STR_CONSULTA, Cnn,adOpenForwardOnly,adLockReadOnly,1
		IF RES_DATOS.EOF = true then ' si no existe
			Cnn.BeginTrans
			'elimina perfil
			STR_CONSULTA = "DELETE FROM perfil WHERE perf_clave ='" & str_clave  & "' AND clie_clave ='" & str_empresa & "'"
			Cnn.Execute STR_CONSULTA,,1
			' elimina pruebas perfil
			STR_CONSULTA = "DELETE FROM perfil_pruebas WHERE perf_clave ='" & str_clave & "' AND clie_clave ='" & str_empresa & "';"
			Cnn.Execute STR_CONSULTA,,1
			Cnn.CommitTrans
		else
			str_mensaje_error= "No es posible eliminar el nivel, esta siendo utilizado por puestos."			
		end if
		RES_DATOS.Close
END SELECT
Cnn.Close
if str_mensaje_error <> empty then
	Response.Redirect("uti_error.asp?or=nivel_listado.asp&enca=ERROR&mens=" & server.urlencode(str_mensaje_error))
end if

Response.Redirect("nivel_listado.asp")
%>

