private void SyncIWads(FileAddResults fileAddResults) { foreach (string file in fileAddResults.GetAllFiles()) { IGameFile gameFile = DataSourceAdapter.GetGameFile(file); if (gameFile != null && !gameFile.IWadID.HasValue) { DataSourceAdapter.InsertIWad(new IWadData() { GameFileID = gameFile.GameFileID.Value, FileName = file, Name = file }); var iwad = DataSourceAdapter.GetIWads().OrderBy(x => x.IWadID).LastOrDefault(); IWadInfo wadInfo = IWadInfo.GetIWadInfo(gameFile.FileName); gameFile.Title = wadInfo == null?Path.GetFileNameWithoutExtension(gameFile.FileName).ToUpper() : wadInfo.Title; DataSourceAdapter.UpdateGameFile(gameFile, new GameFileFieldType[] { GameFileFieldType.Title }); if (iwad != null) { gameFile.IWadID = iwad.IWadID; DataSourceAdapter.UpdateGameFile(gameFile, new[] { GameFileFieldType.IWadID }); } } } UpdateLocal(); HandleTabSelectionChange(); }
private void SyncIWads(string[] files) { IEnumerable <string> iwads = DataSourceAdapter.GetIWads().Select(x => x.Name); IEnumerable <string> iwadsToAdd = files.Except(iwads); foreach (string file in iwadsToAdd) { try { DataSourceAdapter.InsertIWad(new IWadData() { FileName = file, Name = file }); } catch (Exception ex) { Util.DisplayUnexpectedException(this, ex); } } }