// This is called in the ReadData() .js function, supplying the requested data as its argument
    public void StringCallback(string reqData)
    {
        tokenClass tokenObject = JsonUtility.FromJson <tokenClass>(reqData);

        if (tokenObject.available == true)
        {
            UpdateToken("tokenTable",
                        UserInfo.Instance.tokenId.ToString());
            InsertUser("schoolUserData", UserInfo.Instance.tokenId.ToString(),
                       UserInfo.Instance.handedness.ToString(),
                       consentTime.ToString(),
                       startTime.ToString());
            SceneManager.LoadScene("Experiment");
        }
        else if (tokenObject.available == false)
        {
            errMessage.text = "The token you have entered has already been used.";
        }
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            String vToken = Request.QueryString["id"];

            if (vToken != null)
            {
                try{
                    String    vQuery = "[RSP_Documentacion] 12,'" + vToken + "'";
                    DataTable vDatos = vConexion.obtenerDataTable(vQuery);
                    if (vDatos.Rows.Count > 0)
                    {
                        tokenClass vTokenClass = new tokenClass();
                        CryptoToken.CryptoToken vTokenCrypto = new CryptoToken.CryptoToken();
                        vTokenClass = JsonConvert.DeserializeObject <tokenClass>(vTokenCrypto.Decrypt(vToken, ConfigurationManager.AppSettings["TOKEN_DOC"].ToString()));
                        Session["DOCUMENTOS_ARCHIVO_ID"] = Request.QueryString["d"];

                        //vTokenClass.usuario

                        Session["AUTHCLASS"] = vDatos;
                        Session["USUARIO"]   = vDatos.Rows[0]["idEmpleado"].ToString();
                        Session["AUTH"]      = true;
                        Session["CODIGOSAP"] = vDatos.Rows[0]["codigoSAP"].ToString();
                        vQuery = "[RSP_Documentacion] 13,'" + vToken + "'";
                        vConexion.ejecutarSql(vQuery);
                        Response.Redirect("archivo.aspx", false);
                    }
                    else
                    {
                        throw new Exception();
                    }
                }catch (Exception ex) {
                    Session["AUTH"] = false;
                    Response.Redirect("/login.aspx");
                }
            }

            if (!Page.IsPostBack)
            {
                if (Convert.ToBoolean(Session["AUTH"]))
                {
                    string vId    = Session["DOCUMENTOS_ARCHIVO_ID"].ToString();
                    String vQuery = "[RSP_Documentacion] 5" +
                                    "," + Session["DOCUMENTOS_ARCHIVO_ID"].ToString();
                    DataTable vData = vConexion.obtenerDataTable(vQuery);
                    LbTitulo.Text = vData.Rows[0]["nombre"].ToString();

                    DataTable vDatos = (DataTable)Session["AUTHCLASS"];
                    cargarDatos(vId);

                    vQuery = "[RSP_Documentacion] 10" +
                             ",'" + Session["USUARIO"].ToString() + "'" +
                             ",null," + Session["DOCUMENTOS_ARCHIVO_ID"].ToString();
                    vData = vConexion.obtenerDataTable(vQuery);
                    if (vData.Rows.Count > 0)
                    {
                        LbMensajeFirma.Text = "Documento firmado!";
                        BtnLeido.Enabled    = false;
                        BtnLeido.CssClass   = "btn btn-dark";
                    }

                    //Response.Redirect("tipoDocumentos.aspx");
                }
            }
        }
예제 #3
0
        protected void BtnCargar_Click(object sender, EventArgs e)
        {
            try{
                validarDatos();
                String vExtension = "", vBody = "";
                vExtension = Path.GetExtension(FUArchivo.FileName);

                String archivoLog      = string.Format("{0}_{1}", Convert.ToString(Session["usuario"]), DateTime.Now.ToString("yyyyMMddHHmmss"));
                String vDireccionCarga = ConfigurationManager.AppSettings["RUTA_SERVER_DOCS"].ToString() + LitTitulo.Text.ToLower();
                //String vDireccionCarga = ConfigurationManager.AppSettings["RUTA_SERVER_DOCS_LOCAL"].ToString() + LitTitulo.Text.ToLower();

                String vNombreArchivo = FUArchivo.FileName;
                vDireccionCarga += "/" + archivoLog + "_" + vNombreArchivo;
                FUArchivo.SaveAs(vDireccionCarga);
                Boolean vCargado = File.Exists(vDireccionCarga) ? true : false;
                if (vCargado)
                {
                    xml    vDatos     = new xml();
                    String vIdArchivo = Session["DOCUMENTOS_TIPO_ID"].ToString();

                    Object[] vDatosMaestro = new object[20];
                    vDatosMaestro[0]  = vIdArchivo;
                    vDatosMaestro[1]  = DDLCategoria.SelectedValue;
                    vDatosMaestro[2]  = TxNombre.Text;
                    vDatosMaestro[3]  = FUArchivo.FileName;
                    vDatosMaestro[4]  = vExtension;
                    vDatosMaestro[5]  = TxCodigo.Text;
                    vDatosMaestro[6]  = vDireccionCarga;
                    vDatosMaestro[7]  = DDLConfirmacion.SelectedValue;
                    vDatosMaestro[8]  = DDLCorreo.SelectedValue;
                    vDatosMaestro[9]  = TxFecha.Text != "" ? Convert.ToDateTime(TxFecha.Text).ToString("yyyy-MM-dd HH:mm:ss") : "1900-01-01 00:00:00";
                    vDatosMaestro[10] = DDLRecordatorios.SelectedValue;
                    vDatosMaestro[11] = DDLEstado.SelectedValue;
                    vDatosMaestro[12] = Session["USUARIO"].ToString();
                    vDatosMaestro[13] = CBxConfidencial.Checked;
                    vDatosMaestro[14] = DDLNivelConfidencialidad.SelectedValue;
                    vDatosMaestro[15] = DDLPropietario.SelectedValue != "0" ? DDLPropietario.SelectedValue : "0";
                    vDatosMaestro[16] = DDLCategoria.SelectedValue == "6" ? Convert.ToDateTime(TxFechaEx.Text).ToString("yyyy-MM-dd") : "";
                    vDatosMaestro[17] = DDLCategoria.SelectedValue == "6" ? TxProveedorEx.Text : "";
                    vDatosMaestro[18] = DDLCategoria.SelectedValue == "6" ? TxContactoEx.Text : "";
                    vDatosMaestro[19] = DDLCategoria.SelectedValue == "6" ? TxCorreoEx.Text : "";
                    String vXML = vDatos.ObtenerXMLDocumentos(vDatosMaestro);
                    vXML = vXML.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");

                    String vQuery = "[RSP_Documentacion] 4,0" +
                                    ",'" + vXML + "'";
                    int vInfo = vConexion.obtenerId(vQuery);
                    if (vInfo > 0)
                    {
                        DataTable vDataRef = new DataTable();
                        vDataRef.Columns.Add("idDocumento");
                        vDataRef.Columns.Add("nombre");

                        for (int i = 0; i < LBReferencia.Items.Count; i++)
                        {
                            if (LBReferencia.Items[i].Selected)
                            {
                                vDataRef.Rows.Add(LBReferencia.Items[i].Value, LBReferencia.Items[i].Text);
                            }
                        }
                        if (vDataRef.Rows.Count > 0)
                        {
                            for (int i = 0; i < vDataRef.Rows.Count; i++)
                            {
                                vQuery = "[RSP_Documentacion] 25," + vDataRef.Rows[i]["idDocumento"].ToString() + ",NULL," + vInfo;
                                vConexion.ejecutarSql(vQuery);
                            }
                        }

                        DataTable vDTConfidenciales = (DataTable)Session["DOCUMENTOS_CORREOS"];
                        if (vIdArchivo == "1")
                        {
                            vBody = "Se ha creado un nuevo Boletín, por favor revisar el documento.";
                        }
                        else if (vIdArchivo == "2")
                        {
                            vBody = "Se ha creado un nuevo Formato, por favor revisar el documento.";
                        }
                        else if (vIdArchivo == "3")
                        {
                            vBody = "Se ha creado un nuevo Manual, por favor revisar el documento.";
                        }
                        else if (vIdArchivo == "4")
                        {
                            vBody = "Se ha creado una nueva Política, por favor revisar el documento.";
                        }
                        else if (vIdArchivo == "5")
                        {
                            vBody = "Se ha creado un nuevo Proceso, por favor revisar el documento.";
                        }
                        else if (vIdArchivo == "6")
                        {
                            vBody = "Se ha creado un nuevo documento Externo, por favor revisar el documento.";
                        }

                        if (DDLCategoria.SelectedValue == "1")
                        {
                            if (DDLCorreo.SelectedValue == "1")
                            {
                                String    vConsulta = "[RSP_Documentacion] 6";
                                DataTable vData     = vConexion.obtenerDataTable(vConsulta);
                                for (int i = 0; i < vData.Rows.Count; i++)
                                {
                                    String vTokenString = "";

                                    CryptoToken.CryptoToken vToken = new CryptoToken.CryptoToken();
                                    tokenClass vClassToken         = new tokenClass()
                                    {
                                        usuario = Convert.ToInt32(vData.Rows[i]["idEmpleado"].ToString())
                                    };
                                    vTokenString = vToken.Encrypt(JsonConvert.SerializeObject(vClassToken), ConfigurationManager.AppSettings["TOKEN_DOC"].ToString());

                                    vQuery = "[RSP_Documentacion] 8" +
                                             "," + vData.Rows[i]["idEmpleado"].ToString() +
                                             ",null," + vInfo +
                                             ",'" + vBody + "'" +
                                             ",0,'" + vTokenString + "'";
                                    vConexion.ejecutarSql(vQuery);
                                }
                            }
                        }
                        else if (DDLCategoria.SelectedValue == "2" || DDLCategoria.SelectedValue == "4")
                        {
                            for (int i = 0; i < vDTConfidenciales.Rows.Count; i++)
                            {
                                String vTokenString = "";
                                if (DDLCorreo.SelectedValue == "1")
                                {
                                    CryptoToken.CryptoToken vToken = new CryptoToken.CryptoToken();
                                    tokenClass vClassToken         = new tokenClass()
                                    {
                                        usuario    = Convert.ToInt32(vDTConfidenciales.Rows[i]["idEmpleado"].ToString()),
                                        parametro1 = vInfo.ToString()
                                    };
                                    vTokenString = vToken.Encrypt(JsonConvert.SerializeObject(vClassToken), ConfigurationManager.AppSettings["TOKEN_DOC"].ToString());
                                }

                                vQuery = "[RSP_Documentacion] 8" +
                                         "," + vDTConfidenciales.Rows[i]["idEmpleado"].ToString() +
                                         ",null," + vInfo +
                                         ",'" + vBody + "'" +
                                         ",0,'" + vTokenString + "'";
                                vConexion.ejecutarSql(vQuery);
                            }
                        }
                        else if (DDLCategoria.SelectedValue == "3")
                        {
                            vQuery = "[RSP_Documentacion] 23," + DDLGrupos.SelectedValue;
                            DataTable vDataGrupo = vConexion.obtenerDataTable(vQuery);
                            if (vDataGrupo.Rows.Count > 0)
                            {
                                for (int i = 0; i < vDataGrupo.Rows.Count; i++)
                                {
                                    String vTokenString = "";
                                    if (DDLCorreo.SelectedValue == "1")
                                    {
                                        CryptoToken.CryptoToken vToken = new CryptoToken.CryptoToken();
                                        tokenClass vClassToken         = new tokenClass()
                                        {
                                            usuario    = Convert.ToInt32(vDataGrupo.Rows[i]["idEmpleado"].ToString()),
                                            parametro1 = vInfo.ToString()
                                        };
                                        vTokenString = vToken.Encrypt(JsonConvert.SerializeObject(vClassToken), ConfigurationManager.AppSettings["TOKEN_DOC"].ToString());
                                    }

                                    vQuery = "[RSP_Documentacion] 8" +
                                             "," + vDataGrupo.Rows[i]["idEmpleado"].ToString() +
                                             ",null," + vInfo +
                                             ",'" + vBody + "'" +
                                             ",0,'" + vTokenString + "'";
                                    vConexion.ejecutarSql(vQuery);
                                }
                            }
                        }
                        MensajeLoad("Documento cargado con éxito.", WarningType.Success);
                    }
                    else
                    {
                        MensajeLoad("Solicitud no completada, favor comuníquese con sistemas.", WarningType.Danger);
                    }
                }
                else
                {
                    MensajeLoad("Solicitud no completada, favor comuníquese con sistemas.", WarningType.Danger);
                }

                limpiarModal();
                cargarDatos();
                UpdatePanel1.Update();
            }catch (Exception ex) {
                MensajeLoad(ex.Message, WarningType.Danger);
            }
        }