<%@ Language=VBScript %>
<!--#INCLUDE file="ADOVBS.inc"-->
<%
	dim int_folio, str_proceso
	dim sqlQuery, rs, conn, resultado_a(48), resultado_b(48), STR_SALIR


	dsn= application("bd_sieps")

	set conn = server.CreateObject ("ADODB.Connection")
	set rs = server.CreateObject ("ADODB.Recordset")

	conn.Open dsn

	int_folio= Request.Cookies("sieps")("folio")
	str_proceso = Request.form("TXT_PROCESO")
	STR_SALIR= Request.Form("SALIR")


	for i=1 to 44
		resultado_a(i)=Request.Form("r"&i&"_1")
		if trim(resultado_a(i))= empty then
			resultado_a(i)=-1
		end if
		resultado_b(i)=Request.Form("r"&i&"_2")
		if trim(resultado_b(i))= empty then
			resultado_b(i)=-1
		end if
	next

	if str_proceso="alta" then ' si es una alta
		sqlQuery = "SELECT * FROM dat_domino WHERE soli_folio =" & int_folio
		
		On Error Resume Next
		rs.Open sqlQuery, conn,adOpenForwardOnly,adLockReadOnly,1
		handleError(conn)
		
		IF rs.EOF = true then ' si no existe
			conn.BeginTrans
			sqlQuery = "INSERT INTO dat_domino (soli_folio, RES_1_A, RES_2_A, RES_3_A, RES_4_A, RES_5_A, RES_6_A, RES_7_A, RES_8_A, RES_9_A, RES_10_A, RES_11_A, RES_12_A, "_   
			&" RES_13_A, RES_14_A, RES_15_A, RES_16_A, RES_17_A, RES_18_A, RES_19_A, RES_20_A, RES_21_A, RES_22_A, RES_23_A, RES_24_A, "_
			&" RES_25_A, RES_26_A, RES_27_A, RES_28_A, RES_29_A, RES_30_A, RES_31_A, RES_32_A, RES_33_A, RES_34_A, RES_35_A, RES_36_A, "_
			&" RES_37_A, RES_38_A, RES_39_A, RES_40_A, RES_41_A, RES_42_A, RES_43_A, RES_44_A, "_
			&" RES_1_B, RES_2_B, RES_3_B, RES_4_B, RES_5_B, RES_6_B, RES_7_B, RES_8_B, RES_9_B, RES_10_B, RES_11_B, RES_12_B, "_   
			&" RES_13_B, RES_14_B, RES_15_B, RES_16_B, RES_17_B, RES_18_B, RES_19_B, RES_20_B, RES_21_B, RES_22_B, RES_23_B, RES_24_B, "_
			&" RES_25_B, RES_26_B, RES_27_B, RES_28_B, RES_29_B, RES_30_B, RES_31_B, RES_32_B, RES_33_B, RES_34_B, RES_35_B, RES_36_B, "_
			&" RES_37_B, RES_38_B, RES_39_B, RES_40_B, RES_41_B, RES_42_B, RES_43_B, RES_44_B) "_
			&" VALUES(" & int_folio & "," &  resultado_a(1) & "," &  resultado_a(2) & "," &  resultado_a(3) & "," &  resultado_a(4) & "," _
			& resultado_a(5)  & "," &  resultado_a(6)  & "," &  resultado_a(7)  & "," &  resultado_a(8) & "," _
			& resultado_a(9)  & "," &  resultado_a(10) & "," &  resultado_a(11) & "," &  resultado_a(12) & ","_
			& resultado_a(13) & "," &  resultado_a(14) & "," &  resultado_a(15) & "," &  resultado_a(16) & ","_
			& resultado_a(17) & "," &  resultado_a(18) & "," &  resultado_a(19) & "," &  resultado_a(20) & ","_
			& resultado_a(21) & "," &  resultado_a(22) & "," &  resultado_a(23) & "," &  resultado_a(24) & ","_
			& resultado_a(25) & "," &  resultado_a(26) & "," &  resultado_a(27) & "," &  resultado_a(28) & ","_
			& resultado_a(29) & "," &  resultado_a(30) & "," &  resultado_a(31) & "," &  resultado_a(32) & ","_
			& resultado_a(33) & "," &  resultado_a(34) & "," &  resultado_a(35) & "," &  resultado_a(36) & ","_
			& resultado_a(37) & "," &  resultado_a(38) & "," &  resultado_a(39) & "," &  resultado_a(40) & ","_
			& resultado_a(41) & "," &  resultado_a(42) & "," &  resultado_a(43) & "," &  resultado_a(44) & ","_
			& resultado_b(1) & "," &  resultado_b(2) & "," &  resultado_b(3) & "," &  resultado_b(4) & ","_
			& resultado_b(5) & "," &  resultado_b(6) & "," &  resultado_b(7) & "," &  resultado_b(8) & ","_
			& resultado_b(9) & "," &  resultado_b(10) & "," &  resultado_b(11) & "," &  resultado_b(12) & ","_
			& resultado_b(13) & "," &  resultado_b(14) & "," &  resultado_b(15) & "," &  resultado_b(16) & ","_
			& resultado_b(17) & "," &  resultado_b(18) & "," &  resultado_b(19) & "," &  resultado_b(20) & ","_
			& resultado_b(21) & "," &  resultado_b(22) & "," &  resultado_b(23) & "," &  resultado_b(24) & ","_
			& resultado_b(25) & "," &  resultado_b(26) & "," &  resultado_b(27) & "," &  resultado_b(28) & ","_
			& resultado_b(29) & "," &  resultado_b(30) & "," &  resultado_b(31) & "," &  resultado_b(32) & ","_
			& resultado_b(33) & "," &  resultado_b(34) & "," &  resultado_b(35) & "," &  resultado_b(36) & ","_
			& resultado_b(37) & "," &  resultado_b(38) & "," &  resultado_b(39) & "," &  resultado_b(40) & ","_
			& resultado_b(41) & "," &  resultado_b(42) & "," &  resultado_b(43) & "," &  resultado_b(44) & ")"
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			conn.CommitTrans
		END IF
		
	elseif str_proceso="cambio" then  ' si es un cambio
		conn.BeginTrans
		sqlQuery = "SELECT * FROM dat_domino WHERE soli_folio =" & int_folio
		
		On Error Resume Next
		rs.Open sqlQuery, conn,adOpenForwardOnly,adLockReadOnly,1
		handleError(conn)
		
		IF rs.EOF = false then
			sqlQuery = "UPDATE dat_domino SET RES_1_A =" & resultado_a(1) & ", RES_2_A =" & resultado_a(2) & ", RES_3_A =" & resultado_a(3) & ", RES_4_A =" & resultado_a(4) & ","_
			& " RES_5_A =" & resultado_a(5) & ", RES_6_A =" & resultado_a(6) & ", RES_7_A =" & resultado_a(7) & ", RES_8_A =" & resultado_a(8) & ","_
			& " RES_9_A =" & resultado_a(9) & ", RES_10_A =" & resultado_a(10) & ", RES_11_A =" & resultado_a(11) & ", RES_12_A =" & resultado_a(12) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			
			sqlQuery = "UPDATE dat_domino SET RES_13_A =" & resultado_a(13) & ", RES_14_A =" & resultado_a(14) & ", RES_15_A =" & resultado_a(15) & ", RES_16_A =" & resultado_a(16) & ","_
			& " RES_17_A =" & resultado_a(17) & ", RES_18_A =" & resultado_a(18) & ", RES_19_A =" & resultado_a(19) & ", RES_20_A =" & resultado_a(20) & ","_
			& " RES_21_A =" & resultado_a(21) & ", RES_22_A =" & resultado_a(22) & ", RES_23_A =" & resultado_a(23) & ", RES_24_A =" & resultado_a(24) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			
			sqlQuery = "UPDATE dat_domino SET RES_25_A =" & resultado_a(25) & ", RES_26_A =" & resultado_a(26) & ", RES_27_A =" & resultado_a(27) & ", RES_28_A =" & resultado_a(28) & ","_
			& " RES_29_A =" & resultado_a(29) & ", RES_30_A =" & resultado_a(30) & ", RES_31_A =" & resultado_a(31) & ", RES_32_A =" & resultado_a(32) & ","_
			& " RES_33_A =" & resultado_a(33) & ", RES_34_A =" & resultado_a(34) & ", RES_35_A =" & resultado_a(35) & ", RES_36_A =" & resultado_a(36) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			
			sqlQuery = "UPDATE dat_domino SET RES_37_A =" & resultado_a(37) & ", RES_38_A =" & resultado_a(38) & ", RES_39_A =" & resultado_a(39) & ","_
			& " RES_40_A =" & resultado_a(40) & ", RES_41_A =" & resultado_a(41) & ", RES_42_A =" & resultado_a(42) & ", RES_43_A =" & resultado_a(43) & ","_
			& " RES_44_A =" & resultado_a(44) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			
			sqlQuery = "UPDATE dat_domino SET RES_1_B =" & resultado_b(1) & ", RES_2_B =" & resultado_b(2) & ", RES_3_B =" & resultado_b(3) & ", RES_4_B =" & resultado_b(4) & ","_
			& " RES_5_B =" & resultado_b(5) & ", RES_6_B =" & resultado_b(6) & ", RES_7_B =" & resultado_b(7) & ", RES_8_B =" & resultado_b(8) & ","_
			& " RES_9_B =" & resultado_b(9) & ", RES_10_B =" & resultado_b(10) & ", RES_11_B =" & resultado_b(11) & ", RES_12_B =" & resultado_b(12) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			
			sqlQuery = "UPDATE dat_domino SET RES_13_B =" & resultado_b(13) & ", RES_14_B =" & resultado_b(14) & ", RES_15_B =" & resultado_b(15) & ", RES_16_B =" & resultado_b(16) & ","_
			& " RES_17_B =" & resultado_b(17) & ", RES_18_B =" & resultado_b(18) & ", RES_19_B =" & resultado_b(19) & ", RES_20_B =" & resultado_b(20) & ","_
			& " RES_21_B =" & resultado_b(21) & ", RES_22_B =" & resultado_b(22) & ", RES_23_B =" & resultado_b(23) & ", RES_24_B =" & resultado_b(24) & " WHERE soli_folio =" & int_folio
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			
			sqlQuery = "UPDATE dat_domino SET RES_25_B =" & resultado_b(25) & ", RES_26_B =" & resultado_b(26) & ", RES_27_B =" & resultado_b(27) & ", RES_28_B =" & resultado_b(28) & ","_
			& " RES_29_B =" & resultado_b(29) & ", RES_30_B =" & resultado_b(30) & ", RES_31_B =" & resultado_b(31) & ", RES_32_B =" & resultado_b(32) & ","_
			& " RES_33_B =" & resultado_b(33) & ", RES_34_B =" & resultado_b(34) & ", RES_35_B =" & resultado_b(35) & ", RES_36_B =" & resultado_b(36) & " WHERE soli_folio =" & int_folio
			
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			
			
			sqlQuery = "UPDATE dat_domino SET RES_37_B =" & resultado_b(37) & ", RES_38_B =" & resultado_b(38) & ", RES_39_B =" & resultado_b(39) & ","_
			& " RES_40_B =" & resultado_b(40) & ", RES_41_B =" & resultado_b(41) & ", RES_42_B =" & resultado_b(42) & ", RES_43_B =" & resultado_b(43) & ","_
			& " RES_44_B =" & resultado_b(44) & "  WHERE soli_folio =" & int_folio
			
			On Error Resume Next
			conn.Execute sqlQuery,,adCmdText Or adExecuteNoRecords			
			handleError(conn)
			conn.CommitTrans			
				
		END IF
	end if
	'clean up
	If rs.State = adStateOpen then
		rs.Close
	End If
	If conn.State = adStateOpen then
		conn.Close
	End If
	Set rs = Nothing
	Set conn = Nothing
	
	IF STR_SALIR ="SALIR" then
		Response.Redirect("aplicacion_termina.asp")
	else
		Response.Redirect("uti_siguiente.asp")
	end if

sub handleError(connectionRef)
	dim objErr
	dim str_c
	dim strrr, flag
	flag = 0

	if connectionRef.Errors.Count <> 0 Then
		str_c = str_c & "Count: " 
		str_c = str_c & connectionRef.Errors.Count
		for each objErr in connectionRef.Errors
			if objErr.Number <> 0 then ' Number = 0 el error es meramente informativo
				str_c = str_c & " Number: "
				str_c = str_c & objErr.Number			
				
				str_c = str_c & " Description: "
				str_c = str_c & objErr.Description  
			  
				str_c=str_c&" Native error: "
				str_c=str_c&objErr.NativeError 
				  
				str_c=str_c&" SQL state: "
				str_c=str_c&objErr.SQLState
				flag = 1
			end if
		next		
		if flag <> 0 then
			' clean up		
			if conn.State = adStateOpen then
				conn.Close
			end if
			
			set rs = Nothing
			set conn = Nothing
			set connectionRef = nothing
			
			strrr = "uti_console.asp?mensaje=" & "Error: " & str_c 
			Response.Redirect(strrr)
		end if		
	end if	
end sub

sub sendMensajeToConsole(mensaje)
	dim strrr
	strrr="uti_console.asp?mensaje=" & mensaje
	Response.Redirect(strrr)
end sub
%>
