/// <summary>
        /// Sets the persisted last refresh date on the item for this provider.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="value">The value.</param>
        /// <param name="providerVersion">The provider version.</param>
        /// <param name="status">The status.</param>
        /// <exception cref="System.ArgumentNullException">item</exception>
        public virtual void SetLastRefreshed(BaseItem item, DateTime value, string providerVersion,
                                             ProviderRefreshStatus status = ProviderRefreshStatus.Success)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            BaseProviderInfo data;

            if (!item.ProviderData.TryGetValue(Id, out data))
            {
                data = new BaseProviderInfo();
            }

            data.LastRefreshed     = value;
            data.LastRefreshStatus = status;
            data.ProviderVersion   = providerVersion;

            // Save the file system stamp for future comparisons
            if (RefreshOnFileSystemStampChange && item.LocationType == LocationType.FileSystem)
            {
                try
                {
                    data.FileStamp = GetCurrentFileSystemStamp(item);
                }
                catch (IOException ex)
                {
                    Logger.ErrorException("Error getting file stamp for {0}", ex, item.Path);
                }
            }

            item.ProviderData[Id] = data;
        }
        public void AddStatus(ProviderRefreshStatus status, string errorMessage)
        {
            if (LastStatus != status)
            {
                IsDirty = true;
            }

            if (string.IsNullOrEmpty(LastErrorMessage))
            {
                LastErrorMessage = errorMessage;
            }
            if (LastStatus == ProviderRefreshStatus.Success)
            {
                LastStatus = status;
            }
        }
Example #3
0
        public void AddStatus(ProviderRefreshStatus status, string errorMessage)
        {
            if (LastStatus != status)
            {
                IsDirty = true;
            }

            if (string.IsNullOrEmpty(LastErrorMessage))
            {
                LastErrorMessage = errorMessage;
            }
            if (LastStatus == ProviderRefreshStatus.Success)
            {
                LastStatus = status;
            }
        }
 /// <summary>
 /// Sets the last refreshed.
 /// </summary>
 /// <param name="item">The item.</param>
 /// <param name="value">The value.</param>
 /// <param name="status">The status.</param>
 public void SetLastRefreshed(BaseItem item, DateTime value, ProviderRefreshStatus status = ProviderRefreshStatus.Success)
 {
     SetLastRefreshed(item, value, ProviderVersion, status);
 }
        /// <summary>
        /// Sets the persisted last refresh date on the item for this provider.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="value">The value.</param>
        /// <param name="providerVersion">The provider version.</param>
        /// <param name="status">The status.</param>
        /// <exception cref="System.ArgumentNullException">item</exception>
        public virtual void SetLastRefreshed(BaseItem item, DateTime value, string providerVersion, ProviderRefreshStatus status = ProviderRefreshStatus.Success)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            BaseProviderInfo data;

            if (!item.ProviderData.TryGetValue(Id, out data))
            {
                data = new BaseProviderInfo();
            }

            data.LastRefreshed = value;
            data.LastRefreshStatus = status;
            data.ProviderVersion = providerVersion;

            // Save the file system stamp for future comparisons
            if (RefreshOnFileSystemStampChange && item.LocationType == LocationType.FileSystem)
            {
                try
                {
                    data.FileStamp = GetCurrentFileSystemStamp(item);
                }
                catch (IOException ex)
                {
                    Logger.ErrorException("Error getting file stamp for {0}", ex, item.Path);
                }
            }

            item.ProviderData[Id] = data;
        }
 /// <summary>
 /// Sets the last refreshed.
 /// </summary>
 /// <param name="item">The item.</param>
 /// <param name="value">The value.</param>
 /// <param name="status">The status.</param>
 public void SetLastRefreshed(BaseItem item, DateTime value, ProviderRefreshStatus status = ProviderRefreshStatus.Success)
 {
     SetLastRefreshed(item, value, ProviderVersion, status);
 }
        /// <summary>
        /// Sets the persisted last refresh date on the item for this provider.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="value">The value.</param>
        /// <param name="providerVersion">The provider version.</param>
        /// <param name="status">The status.</param>
        /// <exception cref="System.ArgumentNullException">item</exception>
        public virtual void SetLastRefreshed(BaseItem item, DateTime value, string providerVersion, ProviderRefreshStatus status = ProviderRefreshStatus.Success)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            var data = item.ProviderData.GetValueOrDefault(Id, new BaseProviderInfo {
                ProviderId = Id
            });

            data.LastRefreshed     = value;
            data.LastRefreshStatus = status;
            data.ProviderVersion   = providerVersion;

            // Save the file system stamp for future comparisons
            if (RefreshOnFileSystemStampChange)
            {
                data.FileSystemStamp = GetCurrentFileSystemStamp(item);
            }

            item.ProviderData[Id] = data;
        }
Example #8
0
        /// <summary>
        /// Sets the persisted last refresh date on the item for this provider.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="value">The value.</param>
        /// <param name="providerVersion">The provider version.</param>
        /// <param name="status">The status.</param>
        public override void SetLastRefreshed(BaseItem item, DateTime value, string providerVersion, ProviderRefreshStatus status = ProviderRefreshStatus.Success)
        {
            base.SetLastRefreshed(item, value, providerVersion, status);

            if (ConfigurationManager.Configuration.SaveLocalMeta && item.LocationType == LocationType.FileSystem)
            {
                //in addition to ours, we need to set the last refreshed time for the local data provider
                //so it won't see the new files we download and process them all over again
                if (JsonProvider == null) JsonProvider = new MovieProviderFromJson(LogManager, ConfigurationManager, JsonSerializer, HttpClient, ProviderManager);

                BaseProviderInfo data;

                if (!item.ProviderData.TryGetValue(JsonProvider.Id, out data))
                {
                    data = new BaseProviderInfo();
                }

                data.LastRefreshed = value;
                item.ProviderData[JsonProvider.Id] = data;
            }
        }