Esempio n. 1
0
        /// <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)));
        }
Esempio n. 2
0
        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)));
                }
            }
        }