private void Pre_2_6_3_1() { DataTable dt = DataAccess.ExecuteSelect("pragma table_info(GameFiles);").Tables[0]; if (!dt.Select("name = 'SettingsFilesSourcePort'").Any()) { DataAccess.ExecuteNonQuery("alter table GameFiles add column 'SettingsFilesSourcePort' TEXT;"); } if (!dt.Select("name = 'SettingsFilesIWAD'").Any()) { DataAccess.ExecuteNonQuery("alter table GameFiles add column 'SettingsFilesIWAD' TEXT;"); } var adapter = DbDataSourceAdapter.CreateAdapter(); var gameFiles = adapter.GetGameFiles(); var ports = adapter.GetSourcePorts().ToDictionary(x => x.SourcePortID, x => x); var iwads = adapter.GetIWads(); var gameFileIwads = adapter.GetGameFileIWads().ToDictionary(x => iwads.First(y => y.GameFileID == x.GameFileID.Value).IWadID, x => x); foreach (var gameFile in gameFiles) { if (!string.IsNullOrEmpty(gameFile.SettingsFiles)) { var files = Util.GetAdditionalFiles(adapter, gameFile).Select(x => x.FileName); FileLoadHandlerLegacy filehandler = new FileLoadHandlerLegacy(adapter, gameFile); filehandler.CalculateAdditionalFiles(GetDictionaryData <IGameFile>(gameFile.IWadID, gameFileIwads), GetDictionaryData <ISourcePort>(gameFile.SourcePortID, ports)); var sourcePortFiles = filehandler.GetSourcePortFiles().Select(x => x.FileName).Where(x => files.Contains(x)); var iwadFiles = filehandler.GetIWadFiles().Select(x => x.FileName).Where(x => files.Contains(x)).Except(sourcePortFiles); gameFile.SettingsFilesSourcePort = string.Join(";", sourcePortFiles.ToArray()); gameFile.SettingsFilesIWAD = string.Join(";", iwadFiles.ToArray()); adapter.UpdateGameFile(gameFile); } } }
public void SetDataSource(ISourcePortData sourcePort) { m_sourcePort = sourcePort; sourcePortEdit1.SetDataSource(sourcePort); ctrlFiles.SetDataSource(Util.GetAdditionalFiles(m_adapter, sourcePort)); }