private void ParsePokestop(dynamic message) { try { PokestopData pokestop = JsonConvert.DeserializeObject <PokestopData>(Convert.ToString(message)); if (pokestop == null) { _logger.Error($"Failed to parse pokestop webhook object: {message}"); return; } pokestop.SetTimes(); if (_checkForDuplicates) { lock (_processedPokestops) { if (_processedPokestops.ContainsKey(pokestop.PokestopId)) { var processedLureAlready = _processedPokestops[pokestop.PokestopId].LureType == pokestop.LureType && _processedPokestops[pokestop.PokestopId].LureExpireTime == pokestop.LureExpireTime; var processedInvasionAlready = _processedPokestops[pokestop.PokestopId].GruntType == pokestop.GruntType && _processedPokestops[pokestop.PokestopId].InvasionExpireTime == pokestop.InvasionExpireTime; if (processedLureAlready || processedInvasionAlready) { //_logger.Debug($"PROCESSED LURE OR INVASION ALREADY: Id: {pokestop.PokestopId} Name: {pokestop.Name} Lure: {pokestop.LureType} Expires: {pokestop.LureExpireTime} Grunt: {pokestop.GruntType} Expires: {pokestop.InvasionExpireTime}"); // Processed pokestop lure or invasion already return; } _processedPokestops[pokestop.PokestopId] = new ScannedPokestop(pokestop); } else { _processedPokestops.Add(pokestop.PokestopId, new ScannedPokestop(pokestop)); } } } OnPokestopReceived(pokestop); } catch (Exception ex) { _logger.Error(ex); _logger.Debug(Convert.ToString(message)); } }
private void ParsePokestop(dynamic message) { try { PokestopData pokestop = JsonConvert.DeserializeObject <PokestopData>(Convert.ToString(message)); if (pokestop == null) { _logger.Error($"Failed to parse pokestop webhook object: {message}"); return; } pokestop.SetTimes(); OnPokestopReceived(pokestop); } catch (Exception ex) { _logger.Error(ex); _logger.Debug(Convert.ToString(message)); } }