/// <inheritdoc/> public void OnRefreshProgress(BaseItem item, double progress) { var id = item.Id; _logger.LogDebug("OnRefreshProgress {0} {1}", id.ToString("N", CultureInfo.InvariantCulture), progress); // TODO: Need to hunt down the conditions for this happening _activeRefreshes.AddOrUpdate( id, (_) => throw new Exception( string.Format( CultureInfo.InvariantCulture, "Cannot update refresh progress of item '{0}' ({1}) because a refresh for this item is not running", item.GetType().Name, item.Id.ToString("N", CultureInfo.InvariantCulture))), (_, __) => progress); RefreshProgress?.Invoke(this, new GenericEventArgs <Tuple <BaseItem, double> >(new Tuple <BaseItem, double>(item, progress))); }
public void OnRefreshProgress(BaseItem item, double progress) { //_logger.LogInformation("OnRefreshProgress {0} {1}", item.Id.ToString("N", CultureInfo.InvariantCulture), progress); var id = item.Id; lock (_activeRefreshes) { if (_activeRefreshes.ContainsKey(id)) { _activeRefreshes[id] = progress; RefreshProgress?.Invoke(this, new GenericEventArgs <Tuple <BaseItem, double> >(new Tuple <BaseItem, double>(item, progress))); } else { // TODO: Need to hunt down the conditions for this happening //throw new Exception(string.Format("Refresh for item {0} {1} is not in progress", item.GetType().Name, item.Id.ToString("N", CultureInfo.InvariantCulture))); } } }