Ejemplo n.º 1
0
        private void btnLoadFromHyperSpin_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.Filter           = "xml|*.xml";
            openFileDialog1.FilterIndex      = 1;
            openFileDialog1.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                XDocument xmlDoc = XDocument.Load(openFileDialog1.FileName);
                infoBox.AppendText("LOADED XML FILE \n " + openFileDialog1.FileName + "\n");

                foreach (XElement game_node in xmlDoc.Descendants("game"))
                {
                    GameDataItem newItem = new GameDataItem(platform_id, game_node.Attribute("name").Value);

                    if (game_node.Element("crc") != null)
                    {
                        newItem.crc = game_node.Element("crc").Value;
                    }
                    else
                    {
                        newItem.crc = "";
                    }

                    newItem.name      = game_node.Element("description").Value;
                    newItem.developer = game_node.Element("manufacturer").Value;
                    newItem.rating    = game_node.Element("rating").Value;
                    if (!Int64.TryParse(game_node.Element("year").Value, out newItem.release_year))
                    {
                        newItem.release_year = 0;
                    }

                    string genre = game_node.Element("genre").Value;
                    newItem.genre_id = db.getGenreID(genre);

                    db.upsertGamesDataset(newItem);
                }
            }
        }
Ejemplo n.º 2
0
        private void btnLoadFromHyperSpin_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "xml|*.xml";
            openFileDialog1.FilterIndex = 1;
            openFileDialog1.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                XDocument xmlDoc = XDocument.Load(openFileDialog1.FileName);
                infoBox.AppendText("LOADED XML FILE \n " + openFileDialog1.FileName + "\n");

                foreach (XElement game_node in xmlDoc.Descendants("game"))
                {
                    GameDataItem newItem = new GameDataItem(platform_id, game_node.Attribute("name").Value);

                    if (game_node.Element("crc") != null)
                        newItem.crc = game_node.Element("crc").Value;
                    else
                        newItem.crc = "";

                    newItem.name = game_node.Element("description").Value;
                    newItem.developer = game_node.Element("manufacturer").Value;
                    newItem.rating = game_node.Element("rating").Value;
                    if (!Int64.TryParse(game_node.Element("year").Value, out newItem.release_year))
                        newItem.release_year = 0;

                    string genre = game_node.Element("genre").Value;
                    newItem.genre_id = db.getGenreID(genre);

                    db.upsertGamesDataset(newItem);

                }
            }
        }
Ejemplo n.º 3
0
        //Game Tab
        // get meta data from theGamesDB.net
        private void btnGameOnGameDB_Click(object sender, EventArgs e)
        {
            string platform_name = listboxPlatforms.Text;
            int selectedrows = dataGridGames.FirstDisplayedScrollingRowIndex;

            foreach (DataGridViewRow r in dataGridGames.SelectedRows)
            {
                string game_fileName = r.Cells["file_name"].Value as string;
                string game_name = r.Cells["name"].Value as string;
                long gamedb_id = db.getGameDB_ID(platform_id, game_fileName);

                if (gamedb_id == 0)
                {

                    string searchString = Regex.Replace(game_name, "(\\[.*\\])|(\\(.*\\))", ""); /// Remove all the text between square and round brackets
                    GameDB_Search gameDB_Search = new GameDB_Search(searchString, platform_name, game_fileName);

                    if (gameDB_Search.ShowDialog() == DialogResult.OK)
                    {
                        gamedb_id = Convert.ToInt64( gameDB_Search.ReturnedID );
                    }
                    else
                    {
                        continue;
                    }
                    // Write new gamedb_id to table
                   // var command = new SQLiteCommand("update games set gamedb_id = @gamedb_id where platform_id = @platform_id and file_name = @file_name");
                   // command.Parameters.AddWithValue("@gamedb_id", gamedb_id);
                   // command.Parameters.AddWithValue("@file_name", game_fileName);
                   // command.Parameters.AddWithValue("@platform_id", platform_id);
                   // db.sqlExecute(command);
                }

                // get xml for game from gamesdb.net
                string url = string.Format("http://thegamesdb.net/api/GetGame.php?id={0}", gamedb_id);
                string xml = new WebClient().DownloadString(url);
                StringReader stringReader = new StringReader(xml);
                XDocument xmlDoc = XDocument.Load(stringReader);
                XElement game_node = xmlDoc.Descendants("Game").First();

                GameDataItem updateItem = new GameDataItem(platform_id, game_fileName);
                updateItem.gamedb_id = Convert.ToInt64(gamedb_id);

                if (game_node.Element("Overview") != null)
                    updateItem.description = game_node.Element("Overview").Value;
                if (game_node.Element("ReleaseDate") != null)
                {
                    string strReleaseDate = game_node.Element("ReleaseDate").Value;
                    DateTime releaseDateDate;
                    if (DateTime.TryParse(strReleaseDate, out releaseDateDate))
                    {
                        updateItem.release_year = releaseDateDate.Year;
                    }
                }
                if (game_node.Element("ESRB") != null)
                    updateItem.rating = game_node.Element("ESRB").Value;
                if (game_node.Element("Players") != null)
                    updateItem.players = game_node.Element("Players").Value;

                if (game_node.Element("Co-op") != null)
                {
                    if (game_node.Element("Co-op").Value == "Yes")
                        updateItem.co_op = 1;
                    else
                        updateItem.co_op = 0;
                }
                else
                    updateItem.co_op = 0;

                if (game_node.Element("Publisher") != null)
                    updateItem.publisher = game_node.Element("Publisher").Value;
                if (game_node.Element("Developer") != null)
                    updateItem.developer = game_node.Element("Developer").Value;
                if (game_node.Element("Rating") != null)
                    updateItem.gamedb_stars = Convert.ToDouble( game_node.Element("Rating").Value );

                db.upsertGamesDataset(updateItem);

                infoBox.AppendText(game_fileName + " checked on http://thegamesdb.net/ ID number " + gamedb_id + "\n", Color.WhiteSmoke);
            }
            dataGridGames.FirstDisplayedScrollingRowIndex = selectedrows;
        }
Ejemplo n.º 4
0
        public void upsertGamesDataset(GameDataItem updateData)
        {
            DataRow[] gameRow = dsGames.Tables[0].Select(String.Format(@"file_name = '{0}'", updateData.file_name.Replace("'", "''"))); //Get the current row that we are going to edit.

            if (gameRow.Count() > 0) // this row already exists in the dataset, update it to our new values
            {
                if (updateData.gamedb_id != -1)
                    gameRow[0]["gamedb_id"] = updateData.gamedb_id;

                if (updateData.genre_id >= 0)
                    gameRow[0]["genre_id"] = updateData.genre_id;

                if (updateData.crc != "NULL")
                    gameRow[0]["crc"] = updateData.genre_id;

                if (updateData.game_load_string != "NULL")
                    gameRow[0]["game_load_string"] = updateData.game_load_string;

                if (updateData.name != "NULL")
                    gameRow[0]["name"] = updateData.name;

                if (updateData.description != "NULL")
                    gameRow[0]["description"] = updateData.description;

                if (updateData.region_id != "NULL")
                    gameRow[0]["region_id"] = updateData.region_id;

                if (updateData.release_year >= 0)
                    gameRow[0]["release_year"] = updateData.release_year;

                if (updateData.rating != "NULL")
                    gameRow[0]["rating"] = updateData.rating;

                if (updateData.players != "NULL")
                {
                    if (updateData.players == "4+")
                        gameRow[0]["players"] = 4;
                    else
                        gameRow[0]["players"] = updateData.players;
                }

                if (updateData.co_op == 0 || updateData.co_op == 1)
                    gameRow[0]["co_op"] = updateData.co_op;

                if (updateData.publisher != "NULL")
                    gameRow[0]["publisher"] = updateData.publisher;

                if (updateData.publisher_id >= 0)
                    gameRow[0]["publisher_id"] = updateData.publisher_id;

                if (updateData.developer != "NULL")
                    gameRow[0]["developer"] = updateData.developer;

                if (updateData.developer_id >= 0)
                    gameRow[0]["developer_id"] = updateData.developer_id;

                if (updateData.users_stars >= 0)
                    gameRow[0]["users_stars"] = updateData.users_stars;

                if (updateData.gamedb_stars >= 0)
                    gameRow[0]["gamedb_stars"] = updateData.gamedb_stars;

                if (updateData.control_type != "NULL")
                    gameRow[0]["control_type"] = updateData.control_type;

                if (updateData.active == 0 || updateData.active == 1)
                    gameRow[0]["active"] = updateData.active;

                if (updateData.favourite == 0 || updateData.favourite == 1)
                    gameRow[0]["favourite"] = updateData.favourite;

                if (updateData.clone_of != "NULL")
                    gameRow[0]["clone_of"] = updateData.clone_of;
            }
            else // this is a whole new row, add it to the ds
            {
                DataRow newRow = dsGames.Tables[0].NewRow();

                newRow["file_name"] = updateData.file_name;
                newRow["platform_id"] = updateData.platform_id;

                if (updateData.gamedb_id != -1)
                    newRow["gamedb_id"] = updateData.gamedb_id;
                else
                    newRow["gamedb_id"] = 0;

                if (updateData.genre_id >= 0)
                    newRow["genre_id"] = updateData.genre_id;
                else
                    newRow["genre_id"] = 0;

                if (updateData.crc != "NULL")
                    newRow["crc"] = updateData.crc;
                else
                    newRow["crc"] = "NONE";

                if (updateData.game_load_string != "NULL")
                    newRow["game_load_string"] = updateData.game_load_string;
                else
                    newRow["game_load_string"] = "";

                if (updateData.name != "NULL")
                    newRow["name"] = updateData.name;
                else
                    newRow["name"] = "No Name Entered";

                if (updateData.description != "NULL")
                    newRow["description"] = updateData.description;
                else
                    newRow["description"] = "";

                if (updateData.region_id != "NULL")
                    newRow["region_id"] = updateData.region_id;
                else
                    newRow["region_id"] = "NONE";

                if (updateData.release_year >= 0)
                    newRow["release_year"] = updateData.release_year;
                else
                    newRow["release_year"] = 0;

                if (updateData.rating != "NULL")
                    newRow["rating"] = updateData.rating;
                else
                    newRow["rating"] = "";

                if (updateData.players != "NULL")
                    newRow["players"] = updateData.players;
                else
                    newRow["players"] = 0;

                if (updateData.publisher != "NULL")
                    newRow["publisher"] = updateData.publisher;
                else
                    newRow["publisher"] = "";

                if (updateData.publisher_id >= 0)
                    newRow["publisher_id"] = updateData.publisher_id;
                else
                    newRow["publisher_id"] = 0;

                if (updateData.developer != "NULL")
                    newRow["developer"] = updateData.developer;
                else
                    newRow["developer"] = "";

                if (updateData.developer_id >= 0)
                    newRow["developer_id"] = updateData.developer_id;
                else
                    newRow["developer_id"] = 0;

                if (updateData.users_stars >= 0)
                    newRow["users_stars"] = updateData.users_stars;
                else
                    newRow["users_stars"] = 0;

                if (updateData.gamedb_stars >= 0)
                    newRow["gamedb_stars"] = updateData.gamedb_stars;
                else
                    newRow["gamedb_stars"] = 0;

                if (updateData.control_type != "NULL")
                    newRow["control_type"] = updateData.control_type;
                else
                    newRow["control_type"] = "";

                if (updateData.active == 0 || updateData.active == 1)
                    newRow["active"] = updateData.active;
                else
                    newRow["active"] = 0;

                if (updateData.favourite == 0 || updateData.favourite == 1)
                    newRow["favourite"] = updateData.favourite;
                else
                    newRow["favourite"] = 0;

                if (updateData.co_op == 0 || updateData.co_op == 1)
                    newRow["co_op"] = updateData.co_op;
                else
                    newRow["co_op"] = 0;

                if (updateData.clone_of != "NULL")
                    newRow["clone_of"] = updateData.clone_of;
                else
                    newRow["clone_of"] = "NONE";

                dsGames.Tables[0].Rows.Add(newRow);
            }
        }
Ejemplo n.º 5
0
        public void upsertGamesDataset(GameDataItem updateData)
        {
            DataRow[] gameRow = dsGames.Tables[0].Select(String.Format(@"file_name = '{0}'", updateData.file_name.Replace("'", "''"))); //Get the current row that we are going to edit.

            if (gameRow.Count() > 0)                                                                                                    // this row already exists in the dataset, update it to our new values
            {
                if (updateData.gamedb_id != -1)
                {
                    gameRow[0]["gamedb_id"] = updateData.gamedb_id;
                }

                if (updateData.genre_id >= 0)
                {
                    gameRow[0]["genre_id"] = updateData.genre_id;
                }

                if (updateData.crc != "NULL")
                {
                    gameRow[0]["crc"] = updateData.genre_id;
                }

                if (updateData.game_load_string != "NULL")
                {
                    gameRow[0]["game_load_string"] = updateData.game_load_string;
                }

                if (updateData.name != "NULL")
                {
                    gameRow[0]["name"] = updateData.name;
                }

                if (updateData.description != "NULL")
                {
                    gameRow[0]["description"] = updateData.description;
                }

                if (updateData.region_id != "NULL")
                {
                    gameRow[0]["region_id"] = updateData.region_id;
                }

                if (updateData.release_year >= 0)
                {
                    gameRow[0]["release_year"] = updateData.release_year;
                }

                if (updateData.rating != "NULL")
                {
                    gameRow[0]["rating"] = updateData.rating;
                }

                if (updateData.players != "NULL")
                {
                    if (updateData.players == "4+")
                    {
                        gameRow[0]["players"] = 4;
                    }
                    else
                    {
                        gameRow[0]["players"] = updateData.players;
                    }
                }

                if (updateData.co_op == 0 || updateData.co_op == 1)
                {
                    gameRow[0]["co_op"] = updateData.co_op;
                }

                if (updateData.publisher != "NULL")
                {
                    gameRow[0]["publisher"] = updateData.publisher;
                }

                if (updateData.publisher_id >= 0)
                {
                    gameRow[0]["publisher_id"] = updateData.publisher_id;
                }

                if (updateData.developer != "NULL")
                {
                    gameRow[0]["developer"] = updateData.developer;
                }

                if (updateData.developer_id >= 0)
                {
                    gameRow[0]["developer_id"] = updateData.developer_id;
                }

                if (updateData.users_stars >= 0)
                {
                    gameRow[0]["users_stars"] = updateData.users_stars;
                }

                if (updateData.gamedb_stars >= 0)
                {
                    gameRow[0]["gamedb_stars"] = updateData.gamedb_stars;
                }

                if (updateData.control_type != "NULL")
                {
                    gameRow[0]["control_type"] = updateData.control_type;
                }

                if (updateData.active == 0 || updateData.active == 1)
                {
                    gameRow[0]["active"] = updateData.active;
                }

                if (updateData.favourite == 0 || updateData.favourite == 1)
                {
                    gameRow[0]["favourite"] = updateData.favourite;
                }

                if (updateData.clone_of != "NULL")
                {
                    gameRow[0]["clone_of"] = updateData.clone_of;
                }
            }
            else // this is a whole new row, add it to the ds
            {
                DataRow newRow = dsGames.Tables[0].NewRow();

                newRow["file_name"]   = updateData.file_name;
                newRow["platform_id"] = updateData.platform_id;


                if (updateData.gamedb_id != -1)
                {
                    newRow["gamedb_id"] = updateData.gamedb_id;
                }
                else
                {
                    newRow["gamedb_id"] = 0;
                }

                if (updateData.genre_id >= 0)
                {
                    newRow["genre_id"] = updateData.genre_id;
                }
                else
                {
                    newRow["genre_id"] = 0;
                }

                if (updateData.crc != "NULL")
                {
                    newRow["crc"] = updateData.crc;
                }
                else
                {
                    newRow["crc"] = "NONE";
                }

                if (updateData.game_load_string != "NULL")
                {
                    newRow["game_load_string"] = updateData.game_load_string;
                }
                else
                {
                    newRow["game_load_string"] = "";
                }

                if (updateData.name != "NULL")
                {
                    newRow["name"] = updateData.name;
                }
                else
                {
                    newRow["name"] = "No Name Entered";
                }

                if (updateData.description != "NULL")
                {
                    newRow["description"] = updateData.description;
                }
                else
                {
                    newRow["description"] = "";
                }

                if (updateData.region_id != "NULL")
                {
                    newRow["region_id"] = updateData.region_id;
                }
                else
                {
                    newRow["region_id"] = "NONE";
                }

                if (updateData.release_year >= 0)
                {
                    newRow["release_year"] = updateData.release_year;
                }
                else
                {
                    newRow["release_year"] = 0;
                }

                if (updateData.rating != "NULL")
                {
                    newRow["rating"] = updateData.rating;
                }
                else
                {
                    newRow["rating"] = "";
                }

                if (updateData.players != "NULL")
                {
                    newRow["players"] = updateData.players;
                }
                else
                {
                    newRow["players"] = 0;
                }


                if (updateData.publisher != "NULL")
                {
                    newRow["publisher"] = updateData.publisher;
                }
                else
                {
                    newRow["publisher"] = "";
                }

                if (updateData.publisher_id >= 0)
                {
                    newRow["publisher_id"] = updateData.publisher_id;
                }
                else
                {
                    newRow["publisher_id"] = 0;
                }

                if (updateData.developer != "NULL")
                {
                    newRow["developer"] = updateData.developer;
                }
                else
                {
                    newRow["developer"] = "";
                }

                if (updateData.developer_id >= 0)
                {
                    newRow["developer_id"] = updateData.developer_id;
                }
                else
                {
                    newRow["developer_id"] = 0;
                }

                if (updateData.users_stars >= 0)
                {
                    newRow["users_stars"] = updateData.users_stars;
                }
                else
                {
                    newRow["users_stars"] = 0;
                }

                if (updateData.gamedb_stars >= 0)
                {
                    newRow["gamedb_stars"] = updateData.gamedb_stars;
                }
                else
                {
                    newRow["gamedb_stars"] = 0;
                }

                if (updateData.control_type != "NULL")
                {
                    newRow["control_type"] = updateData.control_type;
                }
                else
                {
                    newRow["control_type"] = "";
                }

                if (updateData.active == 0 || updateData.active == 1)
                {
                    newRow["active"] = updateData.active;
                }
                else
                {
                    newRow["active"] = 0;
                }

                if (updateData.favourite == 0 || updateData.favourite == 1)
                {
                    newRow["favourite"] = updateData.favourite;
                }
                else
                {
                    newRow["favourite"] = 0;
                }

                if (updateData.co_op == 0 || updateData.co_op == 1)
                {
                    newRow["co_op"] = updateData.co_op;
                }
                else
                {
                    newRow["co_op"] = 0;
                }


                if (updateData.clone_of != "NULL")
                {
                    newRow["clone_of"] = updateData.clone_of;
                }
                else
                {
                    newRow["clone_of"] = "NONE";
                }

                dsGames.Tables[0].Rows.Add(newRow);
            }
        }
Ejemplo n.º 6
0
        //Game Tab
        // get meta data from theGamesDB.net
        private void btnGameOnGameDB_Click(object sender, EventArgs e)
        {
            string platform_name = listboxPlatforms.Text;
            int    selectedrows  = dataGridGames.FirstDisplayedScrollingRowIndex;

            foreach (DataGridViewRow r in dataGridGames.SelectedRows)
            {
                string game_fileName = r.Cells["file_name"].Value as string;
                string game_name     = r.Cells["name"].Value as string;
                long   gamedb_id     = db.getGameDB_ID(platform_id, game_fileName);

                if (gamedb_id == 0)
                {
                    string        searchString  = Regex.Replace(game_name, "(\\[.*\\])|(\\(.*\\))", ""); /// Remove all the text between square and round brackets
                    GameDB_Search gameDB_Search = new GameDB_Search(searchString, platform_name, game_fileName);

                    if (gameDB_Search.ShowDialog() == DialogResult.OK)
                    {
                        gamedb_id = Convert.ToInt64(gameDB_Search.ReturnedID);
                    }
                    else
                    {
                        continue;
                    }
                    // Write new gamedb_id to table
                    // var command = new SQLiteCommand("update games set gamedb_id = @gamedb_id where platform_id = @platform_id and file_name = @file_name");
                    // command.Parameters.AddWithValue("@gamedb_id", gamedb_id);
                    // command.Parameters.AddWithValue("@file_name", game_fileName);
                    // command.Parameters.AddWithValue("@platform_id", platform_id);
                    // db.sqlExecute(command);
                }


                // get xml for game from gamesdb.net
                string       url          = string.Format("http://thegamesdb.net/api/GetGame.php?id={0}", gamedb_id);
                string       xml          = new WebClient().DownloadString(url);
                StringReader stringReader = new StringReader(xml);
                XDocument    xmlDoc       = XDocument.Load(stringReader);
                XElement     game_node    = xmlDoc.Descendants("Game").First();

                GameDataItem updateItem = new GameDataItem(platform_id, game_fileName);
                updateItem.gamedb_id = Convert.ToInt64(gamedb_id);

                if (game_node.Element("Overview") != null)
                {
                    updateItem.description = game_node.Element("Overview").Value;
                }
                if (game_node.Element("ReleaseDate") != null)
                {
                    string   strReleaseDate = game_node.Element("ReleaseDate").Value;
                    DateTime releaseDateDate;
                    if (DateTime.TryParse(strReleaseDate, out releaseDateDate))
                    {
                        updateItem.release_year = releaseDateDate.Year;
                    }
                }
                if (game_node.Element("ESRB") != null)
                {
                    updateItem.rating = game_node.Element("ESRB").Value;
                }
                if (game_node.Element("Players") != null)
                {
                    updateItem.players = game_node.Element("Players").Value;
                }

                if (game_node.Element("Co-op") != null)
                {
                    if (game_node.Element("Co-op").Value == "Yes")
                    {
                        updateItem.co_op = 1;
                    }
                    else
                    {
                        updateItem.co_op = 0;
                    }
                }
                else
                {
                    updateItem.co_op = 0;
                }

                if (game_node.Element("Publisher") != null)
                {
                    updateItem.publisher = game_node.Element("Publisher").Value;
                }
                if (game_node.Element("Developer") != null)
                {
                    updateItem.developer = game_node.Element("Developer").Value;
                }
                if (game_node.Element("Rating") != null)
                {
                    updateItem.gamedb_stars = Convert.ToDouble(game_node.Element("Rating").Value);
                }

                db.upsertGamesDataset(updateItem);


                infoBox.AppendText(game_fileName + " checked on http://thegamesdb.net/ ID number " + gamedb_id + "\n", Color.WhiteSmoke);
            }
            dataGridGames.FirstDisplayedScrollingRowIndex = selectedrows;
        }