/// <summary>
        /// Called when a scheduled job executes
        /// </summary>
        /// <returns>A status message to be stored in the database log and visible from admin mode</returns>
        public override string Execute()
        {
            var sw = new Stopwatch();

            sw.Start();
            OnStatusChanged("Starting execution of 23 video synchronization");
            var intermediateVideoDataRepository = new IntermediateVideoDataRepository();
            List <BasicContent> videoContent;
            var firstTry = intermediateVideoDataRepository.TryLoadFromService(out videoContent);

            if (!firstTry)
            {
                OnStatusChanged("Loading videos from 23 video failed. Retrying.");
                videoContent = intermediateVideoDataRepository.LoadFromService();
            }
            OnStatusChanged(String.Format("{0} videos and channels found. Now storing to DDS", videoContent.Count));
            intermediateVideoDataRepository.Save(videoContent);
            VideoSynchronizationEventHandler.DataStoreUpdated();

            if (_stopSignaled)
            {
                return("Stop of job was called");
            }
            sw.Stop();
            return("Done" + (firstTry ? string.Empty : " with retry") + ". Time taken " + sw.Elapsed.ToString("g"));
        }
Esempio n. 2
0
        static void dataStoreInvalidationEvent_Raised(object sender, EventNotificationEventArgs e)
        {
            _log.Debug("dataStoreInvalidationEvent '{2}' handled - raised by '{0}' on '{1}'", e.RaiserId, Environment.MachineName, e.EventId);
            _log.Debug("Begin: refreshing video items on: '{0}'", Environment.MachineName);
            var provider =
                ServiceLocator.Current.GetInstance <IContentProviderManager>().GetProvider(Constants.ProviderKey) as
                TwentyThreeVideoProvider;
            var intermediateVideoDataRepository = new IntermediateVideoDataRepository();
            var videoItems = intermediateVideoDataRepository.Load();

            provider.RefreshItems(videoItems.ToList());
            _log.Debug("End: refreshing video items on '{0}'", Environment.MachineName);
            // CustomRedirectHandler handler = CustomRedirectHandler.Current;
        }