diff --git a/ArchiSteamFarm.sln.DotSettings b/ArchiSteamFarm.sln.DotSettings index a105ed21b..7e33a2aa5 100644 --- a/ArchiSteamFarm.sln.DotSettings +++ b/ArchiSteamFarm.sln.DotSettings @@ -30,6 +30,8 @@ SUGGESTION SUGGESTION SUGGESTION + SUGGESTION + SUGGESTION SUGGESTION SUGGESTION WARNING @@ -64,11 +66,14 @@ SUGGESTION HINT SUGGESTION + SUGGESTION SUGGESTION SUGGESTION SUGGESTION + SUGGESTION SUGGESTION SUGGESTION + SUGGESTION SUGGESTION SUGGESTION SUGGESTION @@ -82,6 +87,8 @@ WARNING WARNING WARNING + SUGGESTION + SUGGESTION SUGGESTION HINT SUGGESTION @@ -120,6 +127,7 @@ SUGGESTION WARNING WARNING + WARNING SUGGESTION SUGGESTION SUGGESTION diff --git a/ArchiSteamFarm/ArchiWebHandler.cs b/ArchiSteamFarm/ArchiWebHandler.cs index d60cd542d..4c6f1b512 100644 --- a/ArchiSteamFarm/ArchiWebHandler.cs +++ b/ArchiSteamFarm/ArchiWebHandler.cs @@ -1598,9 +1598,7 @@ namespace ArchiSteamFarm { HashSet result = new HashSet(apps.Count); - foreach (KeyValue app in apps) { - uint appID = app["appid"].AsUnsignedInteger(); - + foreach (uint appID in apps.Select(app => app["appid"].AsUnsignedInteger())) { if (appID == 0) { Bot.ArchiLogger.LogNullError(nameof(appID)); diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index d7aa41480..dfbfa1fa5 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -2983,11 +2983,7 @@ namespace ArchiSteamFarm { byte i = 0; byte[] password = new byte[steamParentalCode.Length]; - foreach (char character in steamParentalCode) { - if ((character < '0') || (character > '9')) { - break; - } - + foreach (char character in steamParentalCode.TakeWhile(character => (character >= '0') && (character <= '9'))) { password[i++] = (byte) character; } diff --git a/ArchiSteamFarm/BotConfig.cs b/ArchiSteamFarm/BotConfig.cs index 0aebdf213..15137adb8 100644 --- a/ArchiSteamFarm/BotConfig.cs +++ b/ArchiSteamFarm/BotConfig.cs @@ -248,26 +248,20 @@ namespace ArchiSteamFarm { return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(BotBehaviour), BotBehaviour)); } - foreach (EFarmingOrder farmingOrder in FarmingOrders) { - if (!Enum.IsDefined(typeof(EFarmingOrder), farmingOrder)) { - return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(FarmingOrders), farmingOrder)); - } + foreach (EFarmingOrder farmingOrder in FarmingOrders.Where(farmingOrder => !Enum.IsDefined(typeof(EFarmingOrder), farmingOrder))) { + return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(FarmingOrders), farmingOrder)); } if (GamesPlayedWhileIdle.Count > ArchiHandler.MaxGamesPlayedConcurrently) { return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(GamesPlayedWhileIdle), GamesPlayedWhileIdle.Count + " > " + ArchiHandler.MaxGamesPlayedConcurrently)); } - foreach (Steam.Asset.EType lootableType in LootableTypes) { - if (!Enum.IsDefined(typeof(Steam.Asset.EType), lootableType)) { - return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(LootableTypes), lootableType)); - } + foreach (Steam.Asset.EType lootableType in LootableTypes.Where(lootableType => !Enum.IsDefined(typeof(Steam.Asset.EType), lootableType))) { + return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(LootableTypes), lootableType)); } - foreach (Steam.Asset.EType matchableType in MatchableTypes) { - if (!Enum.IsDefined(typeof(Steam.Asset.EType), matchableType)) { - return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(MatchableTypes), matchableType)); - } + foreach (Steam.Asset.EType matchableType in MatchableTypes.Where(matchableType => !Enum.IsDefined(typeof(Steam.Asset.EType), matchableType))) { + return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(MatchableTypes), matchableType)); } if ((OnlineStatus < EPersonaState.Offline) || (OnlineStatus >= EPersonaState.Max)) { diff --git a/ArchiSteamFarm/BotDatabase.cs b/ArchiSteamFarm/BotDatabase.cs index c5b048ae7..0f0b45e2a 100644 --- a/ArchiSteamFarm/BotDatabase.cs +++ b/ArchiSteamFarm/BotDatabase.cs @@ -24,6 +24,7 @@ using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.IO; +using System.Linq; using System.Threading.Tasks; using ArchiSteamFarm.Collections; using ArchiSteamFarm.Helpers; @@ -122,11 +123,7 @@ namespace ArchiSteamFarm { bool save = false; lock (GamesToRedeemInBackground) { - foreach (DictionaryEntry game in games) { - if (GamesToRedeemInBackground.Contains(game.Key)) { - continue; - } - + foreach (DictionaryEntry game in games.Cast().Where(game => !GamesToRedeemInBackground.Contains(game.Key))) { GamesToRedeemInBackground.Add(game.Key, game.Value); save = true; }