// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov  Date: 08/10/2012 8:47:44
// Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   EscribirEnBD.java

package project;

import java.io.BufferedInputStream;
import java.net.URLConnection;
import javax.swing.JLabel;
import javax.swing.text.JTextComponent;
import org.apache.xerces.framework.XMLParser;
import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
import traduccion.Traducir;

// Referenced classes of package project:
//            MensajeDeError, AccederADatos, LabelDeFondoDelFrame2, BotonSiguiente, 
//            EstablecerConexion, EncriptarDesencriptar, Crono, ThreadInactividad, 
//            GetIp, Botoncitos, LabelDatosPersonales

class EscribirEnBD
{

    public EscribirEnBD(String cod2, BotonSiguiente bSiguiente2, LabelDeFondoDelFrame2 labelDeFondoDelFrame2, String modulo2, String orden5, String orden4, String hechas5, 
            String hechas4, String orden6, String hechas6)
    {
        modulo = "";
        matricula = "";
        correctas = "";
        inCorrectas = "";
        porcentajeCorrectas = "";
        porcentajeIncorrectas = "";
        acWin = "";
        faWin = "";
        acWor = "";
        faWor = "";
        acPow = "";
        faPow = "";
        acExc = "";
        faExc = "";
        acAcc = "";
        faAcc = "";
        acIex = "";
        faIex = "";
        acOut = "";
        faOut = "";
        acg1 = "";
        acg2 = "";
        acg3 = "";
        hechas1 = "";
        orden1 = "";
        hechas2 = "";
        orden2 = "";
        hechas3 = "";
        orden3 = "";
        version = "";
        estado = 0;
        orden1 = orden5;
        orden2 = orden4;
        orden3 = orden6;
        hechas1 = hechas5;
        hechas2 = hechas4;
        hechas3 = hechas6;
        modulo = modulo2;
        labelDeFondoDelFrame = labelDeFondoDelFrame2;
        codigoAlumno = cod2;
        bSiguiente = bSiguiente2;
        version = AccederADatos.leer("h.version");
    }

    public void cargarOrden()
    {
    }

    public void escribir(String zip, String Area2, String codPreg2, String respuesta2, int estado2)
    {
        estado = estado2;
        String frase2 = "";
        respuesta = respuesta2;
        char ar[] = respuesta.toCharArray();
        if(estado == 1)
            labelDeFondoDelFrame.aumentarAciertos();
        else
        if(estado == 2)
        {
            labelDeFondoDelFrame.aumentarFallos();
        } else
        {
            MensajeDeError mensaje = new MensajeDeError();
            mensaje.mensaje(true, Traducir.getTraduccion(AccederADatos.leer("h.proyecto"), "project.EscribirEnBD", "200411301806", AccederADatos.idioma));
            mensaje = null;
        }
        escribirBackup();
        codPreg = codPreg2;
        Area = Area2;
        codPreg = codPreg2 + " " + Area2;
        if(codigoAlumno.compareTo("109890616") != 0)
            try
            {
                for(int i = 0; i < ar.length; i++)
                    if(ar[i] != 0)
                        frase2 = frase2 + ar[i];

                bSiguiente.establecerConexion.parametrosConexion(AccederADatos.leer("h.proxyAddress"), "salvar.jsp");
                bSiguiente.establecerConexion.connection.setRequestProperty("encriptar", AccederADatos.leer("h.encriptar"));
                bSiguiente.establecerConexion.connection.setRequestProperty("cod_preg", EncriptarDesencriptar.encriptar(codPreg));
                bSiguiente.establecerConexion.connection.setRequestProperty("respuesta", EncriptarDesencriptar.encriptar(frase2));
                bSiguiente.establecerConexion.connection.setRequestProperty("password", EncriptarDesencriptar.encriptar(codigoAlumno));
                bSiguiente.establecerConexion.connection.setRequestProperty("zip", EncriptarDesencriptar.encriptar(zip));
                bSiguiente.establecerConexion.connection.setRequestProperty("correctas", EncriptarDesencriptar.encriptar(correctas));
                bSiguiente.establecerConexion.connection.setRequestProperty("incorrectas", EncriptarDesencriptar.encriptar(inCorrectas));
                bSiguiente.establecerConexion.connection.setRequestProperty("porcentajecorrectas", EncriptarDesencriptar.encriptar(porcentajeCorrectas));
                bSiguiente.establecerConexion.connection.setRequestProperty("porcentajeincorrectas", EncriptarDesencriptar.encriptar(porcentajeIncorrectas));
                bSiguiente.establecerConexion.connection.setRequestProperty("acwin", EncriptarDesencriptar.encriptar(acWin));
                bSiguiente.establecerConexion.connection.setRequestProperty("fawin", EncriptarDesencriptar.encriptar(faWin));
                bSiguiente.establecerConexion.connection.setRequestProperty("acwor", EncriptarDesencriptar.encriptar(acWor));
                bSiguiente.establecerConexion.connection.setRequestProperty("fawor", EncriptarDesencriptar.encriptar(faWor));
                bSiguiente.establecerConexion.connection.setRequestProperty("acpow", EncriptarDesencriptar.encriptar(acPow));
                bSiguiente.establecerConexion.connection.setRequestProperty("fapow", EncriptarDesencriptar.encriptar(faPow));
                bSiguiente.establecerConexion.connection.setRequestProperty("acexc", EncriptarDesencriptar.encriptar(acExc));
                bSiguiente.establecerConexion.connection.setRequestProperty("faexc", EncriptarDesencriptar.encriptar(faExc));
                bSiguiente.establecerConexion.connection.setRequestProperty("acacc", EncriptarDesencriptar.encriptar(acAcc));
                bSiguiente.establecerConexion.connection.setRequestProperty("faacc", EncriptarDesencriptar.encriptar(faAcc));
                bSiguiente.establecerConexion.connection.setRequestProperty("aciex", EncriptarDesencriptar.encriptar(acIex));
                bSiguiente.establecerConexion.connection.setRequestProperty("faiex", EncriptarDesencriptar.encriptar(faIex));
                bSiguiente.establecerConexion.connection.setRequestProperty("acout", EncriptarDesencriptar.encriptar(acOut));
                bSiguiente.establecerConexion.connection.setRequestProperty("faout", EncriptarDesencriptar.encriptar(faOut));
                bSiguiente.establecerConexion.connection.setRequestProperty("acg1", EncriptarDesencriptar.encriptar(acg1));
                bSiguiente.establecerConexion.connection.setRequestProperty("acg2", EncriptarDesencriptar.encriptar(acg2));
                bSiguiente.establecerConexion.connection.setRequestProperty("acg3", EncriptarDesencriptar.encriptar(acg3));
                bSiguiente.establecerConexion.connection.setRequestProperty("hechas1", EncriptarDesencriptar.encriptar(hechas1));
                bSiguiente.establecerConexion.connection.setRequestProperty("hechas2", EncriptarDesencriptar.encriptar(hechas2));
                bSiguiente.establecerConexion.connection.setRequestProperty("hechas3", EncriptarDesencriptar.encriptar(hechas3));
                bSiguiente.establecerConexion.connection.setRequestProperty("orden1", EncriptarDesencriptar.encriptar(orden1));
                bSiguiente.establecerConexion.connection.setRequestProperty("orden2", EncriptarDesencriptar.encriptar(orden2));
                bSiguiente.establecerConexion.connection.setRequestProperty("orden3", EncriptarDesencriptar.encriptar(orden3));
                bSiguiente.establecerConexion.connection.setRequestProperty("tiempo", EncriptarDesencriptar.encriptar(String.valueOf(labelDeFondoDelFrame.crono.segundosPorPregunta)));
                bSiguiente.establecerConexion.connection.setRequestProperty("version", EncriptarDesencriptar.encriptar(version));
                ThreadInactividad.contador = 0;
                try
                {
                    try
                    {
                        DOMParser parser = new DOMParser();
                        BufferedInputStream bis = new BufferedInputStream(bSiguiente.establecerConexion.connection.getInputStream());
                        String textoEncriptado = EncriptarDesencriptar.getStringFromInputStream(bis);
                        String textoDesencriptado = EncriptarDesencriptar.desencriptar(textoEncriptado);
                        InputSource stream = new InputSource(EncriptarDesencriptar.getInputStreamFromString(textoDesencriptado));
                        parser.parse(stream);
                        Document doc = parser.getDocument();
                        NodeList list = doc.getElementsByTagName("question");
                        if(list.getLength() > 0)
                        {
                            for(int i = 0; i < list.getLength(); i++)
                            {
                                Element nextQuestion = (Element)list.item(i);
                                if(AccederADatos.leer("h.controlIP").compareToIgnoreCase("S\355") == 0 && nextQuestion.getAttribute("ip").compareTo(GetIp.GetMyIp()) != 0)
                                {
                                    MensajeDeError mensaje = new MensajeDeError();
                                    mensaje.mensaje(true, Traducir.getTraduccion(AccederADatos.leer("h.proyecto"), "project.EscribirEnBD", "200411171711", AccederADatos.idioma));
                                    mensaje = null;
                                }
                            }

                        }
                    }
                    catch(Exception e)
                    {
                        e.printStackTrace();
                        bSiguiente.establecerConexion.salir(e, labelDeFondoDelFrame);
                    }
                }
                catch(Exception s)
                {
                    s.printStackTrace();
                    bSiguiente.establecerConexion.salir(s, labelDeFondoDelFrame);
                }
            }
            catch(Exception e)
            {
                e.printStackTrace();
                bSiguiente.establecerConexion.salir(e, labelDeFondoDelFrame);
            }
    }

    public void escribirBackup()
    {
        String texto = "";
        arrayDeBotones = bSiguiente.array;
        int i = bSiguiente.ultimoBotonPinchado;
        if(arrayDeBotones[bSiguiente.ultimoBotonPinchado].buscar.compareTo("tema1") == 0)
            texto = "T1";
        else
        if(arrayDeBotones[bSiguiente.ultimoBotonPinchado].buscar.compareTo("tema2") == 0)
            texto = "T2";
        else
        if(arrayDeBotones[bSiguiente.ultimoBotonPinchado].buscar.compareTo("tema3") == 0)
            texto = "T3";
        else
        if(arrayDeBotones[bSiguiente.ultimoBotonPinchado].buscar.compareTo("tema4") == 0)
            texto = "T4";
        else
        if(arrayDeBotones[bSiguiente.ultimoBotonPinchado].buscar.compareTo("tema5") == 0)
            texto = "T5";
        else
        if(arrayDeBotones[bSiguiente.ultimoBotonPinchado].buscar.compareTo("tema6") == 0)
            texto = "T6";
        else
        if(arrayDeBotones[bSiguiente.ultimoBotonPinchado].buscar.compareTo("tema7") == 0)
            texto = "T7";
        if(labelDeFondoDelFrame.hechas1.compareTo("") == 0)
            labelDeFondoDelFrame.hechas1 = "" + texto + i;
        else
        if(labelDeFondoDelFrame.hechas1.length() < 225)
            labelDeFondoDelFrame.hechas1 = labelDeFondoDelFrame.hechas1 + "," + texto + i;
        else
        if(labelDeFondoDelFrame.hechas2.length() < 225)
            labelDeFondoDelFrame.hechas2 = labelDeFondoDelFrame.hechas2 + "," + texto + i;
        else
        if(labelDeFondoDelFrame.hechas3.length() < 225)
            labelDeFondoDelFrame.hechas3 = labelDeFondoDelFrame.hechas3 + "," + texto + i;
        matricula = labelDeFondoDelFrame.labelDatosPersonales.matricula.getText();
        correctas = String.valueOf(labelDeFondoDelFrame.ac);
        inCorrectas = String.valueOf(labelDeFondoDelFrame.fa);
        if(AccederADatos.leer("h.porcentCompCon20030317").compareToIgnoreCase("S\355") == 0)
        {
            porcentajeCorrectas = String.valueOf(labelDeFondoDelFrame.labelDatosPersonales.porcentCorrectas.getText().substring(0, labelDeFondoDelFrame.labelDatosPersonales.porcentCorrectas.getText().length() - 4));
            porcentajeIncorrectas = String.valueOf(labelDeFondoDelFrame.labelDatosPersonales.porcentIncorrectas.getText().substring(0, labelDeFondoDelFrame.labelDatosPersonales.porcentIncorrectas.getText().length() - 4));
        } else
        {
            porcentajeCorrectas = String.valueOf(labelDeFondoDelFrame.labelDatosPersonales.porcentCorrectas.getText().substring(0, labelDeFondoDelFrame.labelDatosPersonales.porcentCorrectas.getText().length() - 4)) + "." + labelDeFondoDelFrame.labelDatosPersonales.porcentCorrectas.getText().substring(labelDeFondoDelFrame.labelDatosPersonales.porcentCorrectas.getText().length() - 3, labelDeFondoDelFrame.labelDatosPersonales.porcentCorrectas.getText().length() - 1);
            porcentajeIncorrectas = String.valueOf(labelDeFondoDelFrame.labelDatosPersonales.porcentIncorrectas.getText().substring(0, labelDeFondoDelFrame.labelDatosPersonales.porcentIncorrectas.getText().length() - 4)) + "." + labelDeFondoDelFrame.labelDatosPersonales.porcentIncorrectas.getText().substring(labelDeFondoDelFrame.labelDatosPersonales.porcentIncorrectas.getText().length() - 3, labelDeFondoDelFrame.labelDatosPersonales.porcentIncorrectas.getText().length() - 1);
        }
        acWin = labelDeFondoDelFrame.aciertosTema1.getText();
        faWin = labelDeFondoDelFrame.fallosTema1.getText();
        acWor = labelDeFondoDelFrame.aciertosTema2.getText();
        faWor = labelDeFondoDelFrame.fallosTema2.getText();
        acPow = labelDeFondoDelFrame.aciertosTema3.getText();
        faPow = labelDeFondoDelFrame.fallosTema3.getText();
        acExc = labelDeFondoDelFrame.aciertosTema4.getText();
        faExc = labelDeFondoDelFrame.fallosTema4.getText();
        acAcc = labelDeFondoDelFrame.aciertosTema5.getText();
        faAcc = labelDeFondoDelFrame.fallosTema5.getText();
        acIex = labelDeFondoDelFrame.aciertosTema6.getText();
        faIex = labelDeFondoDelFrame.fallosTema6.getText();
        acOut = labelDeFondoDelFrame.aciertosTema7.getText();
        faOut = labelDeFondoDelFrame.fallosTema7.getText();
        acg1 = String.valueOf(labelDeFondoDelFrame.grado1);
        acg2 = String.valueOf(labelDeFondoDelFrame.grado2);
        acg3 = String.valueOf(labelDeFondoDelFrame.grado3);
        orden1 = labelDeFondoDelFrame.orden1;
        orden2 = labelDeFondoDelFrame.orden2;
        orden3 = labelDeFondoDelFrame.orden3;
        hechas1 = labelDeFondoDelFrame.hechas1;
        hechas2 = labelDeFondoDelFrame.hechas2;
        hechas3 = labelDeFondoDelFrame.hechas3;
        codigoAlumno = labelDeFondoDelFrame.labelDatosPersonales.matricula.getText();
    }

    String modulo;
    String codigoAlumno;
    String respuesta;
    BotonSiguiente bSiguiente;
    String codPreg;
    String Area;
    LabelDeFondoDelFrame2 labelDeFondoDelFrame;
    String matricula;
    String correctas;
    String inCorrectas;
    String porcentajeCorrectas;
    String porcentajeIncorrectas;
    String acWin;
    String faWin;
    String acWor;
    String faWor;
    String acPow;
    String faPow;
    String acExc;
    String faExc;
    String acAcc;
    String faAcc;
    String acIex;
    String faIex;
    String acOut;
    String faOut;
    String acg1;
    String acg2;
    String acg3;
    String hechas1;
    String orden1;
    String hechas2;
    String orden2;
    String hechas3;
    String orden3;
    String version;
    Botoncitos arrayDeBotones[];
    int estado;
}