// Constructor public CubesEnvironmentInfo(string rootFolder) { var assembly = Assembly.GetExecutingAssembly(); var fvi = FileVersionInfo.GetVersionInfo(assembly.Location); RootFolder = rootFolder; Hostname = Dns.GetHostName(); LiveSince = DateTime.Now; Version = fvi.FileVersion; #if DEBUG IsDebug = true; #else IsDebug = false; #endif FullVersion = Assembly .GetExecutingAssembly() .GetCustomAttribute <AssemblyInformationalVersionAttribute>() .InformationalVersion; BuildVersion = FullVersion; if (BuildVersion.Contains("-")) { GitHash = BuildVersion.Substring(BuildVersion.IndexOf('-') + 1); BuildVersion = BuildVersion.Substring(0, BuildVersion.IndexOf('-')); } using var buildDate = assembly.GetManifestResourceStream("Cubes.Core.BuildDate.txt"); using var reader = new StreamReader(buildDate); string value = reader.ReadToEnd().Trim(); BuildDateTime = DateTime.ParseExact(value, "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture); }
public bool FitsFilter(string[] keywords) { FilteredContracts.Clear(); VersionContracts.ForEach(contract => { if (contract.FitsFilter(keywords)) { FilteredContracts.Add(contract); } }); if (FilteredContracts.Count == 0) { VersionContracts.ForEach(contract => { FilteredContracts.Add(contract); }); } return(keywords.All(key => { if (Version.Contains(key, StringComparison.InvariantCultureIgnoreCase)) { return true; } if (BuildVersion.Contains(key, StringComparison.InvariantCultureIgnoreCase)) { return true; } if (VersionName.Contains(key, StringComparison.InvariantCultureIgnoreCase)) { return true; } if (MarketingName.Contains(key, StringComparison.InvariantCultureIgnoreCase)) { return true; } if (CodeName.Contains(key, StringComparison.InvariantCultureIgnoreCase)) { return true; } if (FilteredContractsCount(key) > 0) { return true; } // No matches, return false return false; } )); }
private bool IsOldVersion() { if (string.IsNullOrEmpty(BuildVersion)) { return(false); } if (BuildVersion.Contains("2018")) { return(true); } string year = "2019"; int maxMonth = 7; int maxDay = 23; if (BuildVersion.Contains(year)) { try { int start = BuildVersion.IndexOf(year); int month = int.Parse(BuildVersion.Substring(start + year.Length, 2)); int day = int.Parse(BuildVersion.Substring(start + year.Length + 2, 2)); if (month < maxMonth) { return(true); } else if (month == maxMonth && day <= maxDay) { return(true); } } catch (System.Exception err) { Debug.LogError("Build version check failed: " + err.ToString()); } } return(false); }