private bool VersionAlreadyInstalled(FactorioOnlineVersion version) { foreach (var localVersion in FactorioVersions) { if (version.Version == localVersion.Version) { return(true); } } return(false); }
private bool GetVersionDownloadable(FactorioOnlineVersion version) { foreach (var localVersion in FactorioVersions) { if ((version.Version == localVersion.Version) && localVersion.IsFileSystemEditable) { return(false); } } return(true); }
private bool VersionFilter(object obj) { FactorioOnlineVersion version = obj as FactorioOnlineVersion; if (version != null) { return(!version.IsExperimental || ShowExperimentalVersions); } else { return(false); } }
private bool ShowVersionList(CookieContainer container, out FactorioOnlineVersion selectedVersion) { selectedVersion = null; List <FactorioOnlineVersion> versions; try { if (!FactorioWebsite.GetVersions(container, out versions)) { MessageBox.Show(Window, App.Instance.GetLocalizedMessage("RetrievingVersions", MessageType.Error), App.Instance.GetLocalizedMessageTitle("RetrievingVersions", MessageType.Error), MessageBoxButton.OK, MessageBoxImage.Error); return(false); } } catch (WebException) { MessageBox.Show(Window, App.Instance.GetLocalizedMessage("RetrievingVersions", MessageType.Error), App.Instance.GetLocalizedMessageTitle("RetrievingVersions", MessageType.Error), MessageBoxButton.OK, MessageBoxImage.Error); return(false); } versions.ForEach(item => item.Downloadable = GetVersionDownloadable(item)); var versionListWindow = new VersionListWindow { Owner = Window }; var versionListViewModel = (VersionListViewModel)versionListWindow.ViewModel; versions.ForEach(item => versionListViewModel.FactorioVersions.Add(item)); bool?versionResult = versionListWindow.ShowDialog(); selectedVersion = versionListViewModel.SelectedVersion; return(versionResult.HasValue && versionResult.Value); }