public ChangelistEvent(SteamChangelist changelist) : base("Changelist") { ChangeNumber = changelist.ChangeNumber; if (changelist.Apps.Any()) { Apps = changelist.Apps.ToDictionary(x => x, x => "Unknown App " + x); if (Bootstrap.Config.DatabaseConnectionString != null) { try { using var db = new MySqlConnection(Bootstrap.Config.DatabaseConnectionString); foreach (var app in db.Query <AppData>("SELECT `AppID`, `Name`, `LastKnownName` FROM `Apps` WHERE `AppID` IN @Apps", new { changelist.Apps })) { if (!string.IsNullOrEmpty(app.LastKnownName) && app.Name != app.LastKnownName) { Apps[app.AppID] = $"{app.Name} ({app.LastKnownName})"; } else { Apps[app.AppID] = app.Name; } } } catch (MySqlException e) { Bootstrap.Log("{0}", e.Message); } } } else { Apps = new Dictionary <uint, string>(); } if (changelist.Packages.Any()) { Packages = changelist.Packages.ToDictionary(x => x, x => "Unknown Package " + x); if (Bootstrap.Config.DatabaseConnectionString != null) { try { using var db = new MySqlConnection(Bootstrap.Config.DatabaseConnectionString); foreach (var sub in db.Query <PackageData>("SELECT `SubID`, `LastKnownName` FROM `Subs` WHERE `SubID` IN @Packages", new { changelist.Packages })) { Packages[sub.SubID] = sub.LastKnownName; } } catch (MySqlException e) { Bootstrap.Log("{0}", e.Message); } } } else { Packages = new Dictionary <uint, string>(); } }
public ChangelistEvent(SteamChangelist changelist) : base("Changelist") { ChangeNumber = changelist.ChangeNumber; if (changelist.Apps.Any()) { Apps = changelist.Apps.ToDictionary(x => x, x => "Unknown App " + x); if (Bootstrap.DatabaseConnectionString != null) { try { var apps = string.Join(",", changelist.Apps); using (var reader = MySqlHelper.ExecuteReader(Bootstrap.DatabaseConnectionString, "SELECT `AppID`, `Name`, `LastKnownName` FROM `Apps` WHERE `AppID` IN(" + apps + ")")) { while (reader.Read()) { var name = reader.GetString(1); var lastKnownName = reader.GetString(2); if (!string.IsNullOrEmpty(lastKnownName) && name != lastKnownName) { name = string.Format("{0} ({1})", name, lastKnownName); } Apps[reader.GetUInt32(0)] = name; } } } catch (MySqlException e) { Bootstrap.Log("{0}", e.Message); } } } else { Apps = new Dictionary <uint, string>(); } if (changelist.Packages.Any()) { Packages = changelist.Packages.ToDictionary(x => x, x => "Unknown Package " + x); if (Bootstrap.DatabaseConnectionString != null) { try { var subs = string.Join(",", changelist.Packages); using (var reader = MySqlHelper.ExecuteReader(Bootstrap.DatabaseConnectionString, "SELECT `SubID`, `LastKnownName` FROM `Subs` WHERE `SubID` IN(" + subs + ")")) { while (reader.Read()) { Packages[reader.GetUInt32(0)] = reader.GetString(1); } } } catch (MySqlException e) { Bootstrap.Log("{0}", e.Message); } } } else { Packages = new Dictionary <uint, string>(); } }