Misc optimization

This commit is contained in:
JustArchi
2017-11-16 20:33:16 +01:00
parent 9bdb8c8ca8
commit 216bf4b486
2 changed files with 6 additions and 10 deletions

View File

@@ -221,7 +221,7 @@ namespace ArchiSteamFarm {
return output?.Queue;
}
internal async Task<HashSet<Steam.TradeOffer>> GetActiveTradeOffers() {
internal async Task<HashSet<Steam.TradeOffer>> GetActiveTradeOffers(IReadOnlyCollection<ulong> ignoredTradeOfferIDs = null) {
string steamApiKey = await GetApiKey().ConfigureAwait(false);
if (string.IsNullOrEmpty(steamApiKey)) {
return null;
@@ -302,6 +302,10 @@ namespace ArchiSteamFarm {
return null;
}
if (ignoredTradeOfferIDs?.Contains(tradeOfferID) == true) {
continue;
}
uint otherSteamID3 = trade["accountid_other"].AsUnsignedInteger();
if (otherSteamID3 == 0) {
Bot.ArchiLogger.LogNullError(nameof(otherSteamID3));

View File

@@ -136,19 +136,11 @@ namespace ArchiSteamFarm {
}
private async Task ParseActiveTrades() {
HashSet<Steam.TradeOffer> tradeOffers = await Bot.ArchiWebHandler.GetActiveTradeOffers().ConfigureAwait(false);
HashSet<Steam.TradeOffer> tradeOffers = await Bot.ArchiWebHandler.GetActiveTradeOffers(IgnoredTrades).ConfigureAwait(false);
if ((tradeOffers == null) || (tradeOffers.Count == 0)) {
return;
}
if (IgnoredTrades.Count > 0) {
if (tradeOffers.RemoveWhere(tradeoffer => IgnoredTrades.Contains(tradeoffer.TradeOfferID)) > 0) {
if (tradeOffers.Count == 0) {
return;
}
}
}
IEnumerable<Task<ParseTradeResult>> tasks = tradeOffers.Select(ParseTrade);
ICollection<ParseTradeResult> results;