public static bool runDelete(string tabla, string llave, long valorLlave)
        {
            string query = string.Format("UPDATE `{0}`  SET estado=0 WHERE {1}='{2}'", tabla, llave, valorLlave);
            var    comm  = new SqlCommand(query, DatabaseChecado._conn);

            try
            {
                DatabaseChecado._conn.Open();
                Console.WriteLine(query);
                comm.ExecuteNonQuery();
                DatabaseChecado._conn.Close();
                return(true);
            }
            catch (Exception e)
            {
                DatabaseChecado.ManageException(e);
                return(false);
            }
        }
        public static bool runQuery(string query)
        {
            query = query.Replace("\n", "");
            query = query.Replace("'", "\'");
            var comm = new SqlCommand(query, DatabaseChecado._conn);

            try
            {
                DatabaseChecado._conn.Open();
                Console.WriteLine(query);
                comm.ExecuteNonQuery();
                DatabaseChecado._conn.Close();
                return(true);
            }
            catch (Exception e)
            {
                DatabaseChecado.ManageException(e);
                return(false);
            }
        }
        public static string runSelectQueryEspecial(string query)
        {
            try
            {
                query = query.Replace("\n", "");


                Console.WriteLine(query);
                DataTable tablaSelect = new DataTable();
                string    sql         = query;



                var comm = new SqlCommand(sql, DatabaseChecado._conn);
                DatabaseChecado._conn.Open();
                DatabaseChecado.adapt = new SqlDataAdapter(comm);
                SqlCommandBuilder commandBuilder = new SqlCommandBuilder(DatabaseChecado.adapt);
                DatabaseChecado.tablaBusqueda = new DataTable();
                DatabaseChecado.adapt.Fill(tablaSelect);
                DatabaseChecado._conn.Close();

                if (tablaSelect == null)
                {
                    return(null);
                }
                else if (tablaSelect.Rows.Count < 1)
                {
                    return(null);
                }

                return("Correcto");
            }
            catch (Exception e)
            {
                DatabaseChecado.ManageException(e);
                return(e.ToString());
            }
        }
        public void insert_usuario(string clave_empleado)
        {
            if (clave_empleado == "")
            {
                return;
            }
            try
            {
                //Hacemos un select a la base de SQL Server (Incluyendo la fotografía).
                string select_sql_server = string.Format("select  " +
                                                         "b.NOMBRE " +
                                                         ", b.APATERNO " +
                                                         ", b.AMATERNO " +
                                                         ", b.FECHA_REGISTRO " +
                                                         ", b.FECHA_MODIFICACION " +
                                                         ", a.CLAVE_EMPLEADO " +
                                                         ", b.NSS " +
                                                         ", b.RFC " +
                                                         ", b.CURP " +
                                                         ", b.AREA " +
                                                         ", b.DEPARTAMENTO " +
                                                         ", a.BORRADO " +
                                                         ", b.FECHA_INGRESO " +
                                                         ", b.FECHA_BAJA " +
                                                         ", a.FOTO " +
                                                         "from PERSONAS a  " +
                                                         "left join EMPLEADOS b on a.CLAVE_EMPLEADO=b.CLAVE_EMPL " +
                                                         "WHERE a.clave_empleado='{0}'", clave_empleado);

                DataTable tabla_sql_server = DatabaseChecado.runSelectQuery(select_sql_server);


                string path      = "";
                string temp_path = string.Format("~/temp/usuarios/{0}", path);
                string filename  = tabla_sql_server.Rows[0]["CLAVE_EMPLEADO"].ToString() + ".jpg";
                string fullPath  = Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath(temp_path), filename);

                //Guardamos la fotografía en JPG.
                try
                {
                    object arreglo = tabla_sql_server.Rows[0]["foto"];
                    using (var ms = new MemoryStream((byte[])tabla_sql_server.Rows[0]["foto"]))
                    {
                        Image imagen = Image.FromStream(ms);
                        imagen.Save(fullPath);
                    }
                }
                catch (Exception ex)
                {
                }

                //Hacemos el Update en la base de MySQL (Inclyendo la nueva ruta)
                string string_insert_query = string.Format("INSERT INTO `lu_usuarios` " +
                                                           "(`APATERNO`, " +
                                                           "`AMATERNO`, " +
                                                           "`NOMBRE`, " +
                                                           "`foto_url`, " +
                                                           "`FECHA_REGISTRO`, " +
                                                           "`FECHA_MODIFICACION`, " +
                                                           "`NSS`, " +
                                                           "`RFC`, " +
                                                           "`CURP`, " +
                                                           "`AREA`, " +
                                                           "`DEPARTAMENTO`, " +
                                                           "`BORRADO`, " +
                                                           "`FECHA_INGRESO`, " +
                                                           "`FECHA_BAJA`, " +
                                                           "`CLAVE_EMPLEADO`) " +
                                                           "VALUES " +
                                                           "('{0}', " +
                                                           "'{1}', " +
                                                           "'{2}', " +
                                                           "'{3}', " +
                                                           "STR_TO_DATE('{4}', '%Y-%m-%d'), " +
                                                           "STR_TO_DATE('{5}', '%Y-%m-%d'), " +
                                                           "'{6}', " +
                                                           "'{7}', " +
                                                           "'{8}', " +
                                                           "'{9}', " +
                                                           "'{10}', " +
                                                           "'{11}', " +
                                                           "STR_TO_DATE('{12}', '%Y-%m-%d'), " +
                                                           "STR_TO_DATE('{13}', '%Y-%m-%d'), " +
                                                           "'{14}'); "
                                                           , tabla_sql_server.Rows[0]["APATERNO"].ToString()
                                                           , tabla_sql_server.Rows[0]["AMATERNO"].ToString()
                                                           , tabla_sql_server.Rows[0]["NOMBRE"].ToString()
                                                           , "http://" + Request.Headers.Host + "/temp/usuarios/" + filename
                                                           , tabla_sql_server.Rows[0]["FECHA_REGISTRO"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_REGISTRO"].ToString()).ToString("yyyy-MM-dd")
                                                           , tabla_sql_server.Rows[0]["FECHA_MODIFICACION"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_MODIFICACION"].ToString()).ToString("yyyy-MM-dd")
                                                           , tabla_sql_server.Rows[0]["NSS"].ToString()
                                                           , tabla_sql_server.Rows[0]["RFC"].ToString()
                                                           , tabla_sql_server.Rows[0]["CURP"].ToString()
                                                           , tabla_sql_server.Rows[0]["AREA"].ToString()
                                                           , tabla_sql_server.Rows[0]["DEPARTAMENTO"].ToString()
                                                           , tabla_sql_server.Rows[0]["BORRADO"].ToString()
                                                           , tabla_sql_server.Rows[0]["FECHA_INGRESO"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_INGRESO"].ToString()).ToString("yyyy-MM-dd")
                                                           , tabla_sql_server.Rows[0]["FECHA_BAJA"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_BAJA"].ToString()).ToString("yyyy-MM-dd")
                                                           , clave_empleado);

                Database.runInsert(string_insert_query);

                //Guardamos la fotografía en la ruta del servidor.
                return;
            }
            catch (Exception ex)
            {
                return;
            }

            return;
        }
        public string getMigrarUsuarios()
        {
            string query_sql_server = "SELECT " +
                                      "a.CLAVE_EMPLEADO as CLAVE_EMPLEADO " +
                                      ", b.FECHA_MODIFICACION as FECHA_MODIFICACION " +
                                      "FROM PERSONAS a  " +
                                      "LEFT JOIN EMPLEADOS b on a.CLAVE_EMPLEADO=b.CLAVE_EMPL;";

            string query_mysql = "SELECT CLAVE_EMPLEADO AS CLAVE_EMPLEADO " +
                                 ", FECHA_MODIFICACION AS FECHA_MODIFICACION " +
                                 " FROM lu_usuarios; ";

            //Obtenemos las tablas
            DataTable tabla_sql_server = DatabaseChecado.runSelectQuery(query_sql_server);
            DataTable tabla_mysql      = Database.runSelectQuery(query_mysql);

            if (tabla_mysql == null)
            {
                tabla_mysql = new DataTable();
            }

            //Buscamos las claves dentro de la tabla de MySQL
            for (int x = 0; x < tabla_sql_server.Rows.Count; x++)
            {
                bool encontrado = false;
                for (int y = 0; y < tabla_mysql.Rows.Count; y++)
                {
                    try
                    {
                        if (tabla_sql_server.Rows[x]["CLAVE_EMPLEADO"].ToString()
                            == tabla_mysql.Rows[y]["CLAVE_EMPLEADO"].ToString())
                        {
                            encontrado = true;
                            string fecha_sql_server = tabla_sql_server.Rows[x]["FECHA_MODIFICACION"].ToString() == "" ? DateTime.Now.ToString("dd/MM/yyyy")
                                : DateTime.Parse(tabla_sql_server.Rows[x]["FECHA_MODIFICACION"].ToString()).ToString("dd/MM/yyyy");
                            string fecha_mysql = tabla_mysql.Rows[y]["FECHA_MODIFICACION"].ToString() == "" ? DateTime.Now.ToString("dd/MM/yyyy")
                                : DateTime.Parse(tabla_mysql.Rows[y]["FECHA_MODIFICACION"].ToString()).ToString("dd/MM/yyyy");

                            if (fecha_sql_server != fecha_mysql)
                            {
                                //Hacemos el update
                                //Le mandamos la clave de empleado que vamos a insertar.
                                update_usuario(tabla_sql_server.Rows[x]["CLAVE_EMPLEADO"].ToString());
                            }
                            break;
                        }
                    }
                    catch
                    {
                        continue;
                    }
                }
                if (!encontrado)
                {
                    //Hacemos el insert.
                    //Le mandamos la clave de empleado que vamos a actualizar.
                    insert_usuario(tabla_sql_server.Rows[x]["CLAVE_EMPLEADO"].ToString());
                }
            }

            return("Actualizado");
        }