public Nintendo64_PostProcess(string DirectoryToProcess, char SpaceChar, bool MetaEnabled, bool RenamingEnabled, bool MovingEnabled, DatabaseConnector DBConnection) { MetaEnabled = true; RenamingEnabled = true; MovingEnabled = true; string[] FilesToProcess = System.IO.Directory.GetFiles(@DirectoryToProcess); Progress ProgressForm = new Progress(); ProgressForm.Show(); ProgressForm.Step = ProgressForm.CalculateStep(FilesToProcess.Length); foreach (string SingleFile in FilesToProcess) { ProgressForm.UpdateProcessingName = SingleFile; //Get the Directory including the file string FileDirectory = System.IO.Directory.GetParent(SingleFile).FullName; //Get the filename without the path string Filename = SingleFile.Replace(FileDirectory + "\\", ""); string Searchname = Filename; //Strip and Save the extension Regex FileExtensionRegex = new Regex("\\.(...)$"); string Extension = FileExtensionRegex.Match(Searchname).Value; Searchname = FileExtensionRegex.Replace(Searchname, ""); //Replace "SpaceChar" with actual spaces for our search Searchname = Searchname.Replace(SpaceChar, " ".ToCharArray()[0]); LogFacility.WriteToFile(4, "Title to search: " + Searchname, LogSource); //Initiate scraper Scraper.TheGamesDB InfoScraper = new Scraper.TheGamesDB(LogFacility); List<Game> Results = InfoScraper.Search(Searchname, "Nintendo 64"); //We will only take the first result, let's hope that it's the best one... if (Results != null) DBConnection.InsertGame(InfoScraper.GetGameByID(Results[0].scraper_gdb_id)); else LogFacility.WriteToFile(1, "Could not find an item for " + Searchname, LogSource); if (Results != null) { Filename = Results[0].Name.Replace(" ".ToCharArray()[0], SpaceChar); Filename += Extension; LogFacility.WriteToFile(4, "Resulted Filename: " + FileDirectory + "\\" + Filename, LogSource); if (RenamingEnabled && !MovingEnabled) System.IO.File.Move(SingleFile, FileDirectory + "\\" + Filename); if (MovingEnabled) System.IO.File.Move(SingleFile, FileDirectory + "\\" + Filename); } ProgressForm.UpdateProgressBar(); } ProgressForm.Close(); }
private void btAddGame_Click(object sender, EventArgs e) { LogInstance.WriteToFile(4, "Adding a game to the database", LogSource); TheGamesDB Scraper_GameDB = new TheGamesDB(LogInstance); Game GameToAdd = new Game(); string TextValue = (string)cBSearchResultPicker.SelectedItem; TextValue = TextValue.Split(Char.Parse(":"))[1].Trim(); GameToAdd = Scraper_GameDB.GetGameByID(int.Parse(TextValue)); int newid = DBConnection.InsertGame(GameToAdd); if (newid == 0) { LogInstance.WriteToFile(4, "Somehow we were unable to add the game to the database.", LogSource); MessageBox.Show("Unable to add the game to the database."); } else { GameToAdd = DBConnection.GetGame(newid); if (CurGameList == null) lboxGameList.Items.Clear(); CurGameList = DBConnection.AllGamesByPlatform("PC"); if (GameToAdd.Platform == "PC") lboxGameList.Items.Add((lboxGameList.Items.Count + 1) + ". " + GameToAdd.Name + " (ID: " + GameToAdd.ID + ")"); lboxGameList.Refresh(); lboxGameList.SelectedIndex = 0; lblNameOfGame.Visible = true; lblPublisher.Visible = true; lblPlayers.Visible = true; lblCoOp.Visible = true; lblRelease.Visible = true; lblContent.Visible = true; lblYoutube.Visible = true; lblGenres.Visible = true; pbGamePic.Show(); btAddGame.Enabled = false; btAddGame.Visible = false; cBSearchResultPicker.Items.Clear(); cBSearchResultPicker.Enabled = false; cBSearchResultPicker.Visible = false; } }