Exemple #1
0
        public virtual IEnumerable<AwpWord> AddWords(DateTime forDate, int deliveryGroupId, int targetNameId, int numberOfWords, int daysToWarm, int postProductionDays, int minEmailCount, int maxEmailCount)
        {
            var result = new List<AwpWord>();
            OnStart(this, new DataEventArgs<string>(String.Format(ProcessMsg, deliveryGroupId, string.Format("Adding new words to warm for delivery group {0}.", deliveryGroupId))));

            try
            {
                OnReport(this, new DataEventArgs<string>(string.Format("Adding {0} words for Delivery Group {1}", numberOfWords, deliveryGroupId)));

                var newWordsToWarm = _wordsProvider.GetWordsToWarm(forDate, deliveryGroupId, targetNameId, numberOfWords, daysToWarm, postProductionDays);
                result.AddRange(newWordsToWarm);
                result.ForEach(x => _warmingRepository.Add(x));

                OnReport(this, new DataEventArgs<string>(string.Format("Added {0} words for Delivery Group {1}", result.Count(), deliveryGroupId)));
            }
            catch (Exception e)
            {
                OnError(this, new DataEventArgs<Exception>(e));
            }
            finally
            {
                OnEnd(this, new DataEventArgs<string>(String.Format(ProcessMsg, deliveryGroupId, "Adding new words to warm succeeded.")));
            }

            return result;
        }
Exemple #2
0
        public JobsRunner
        (
            AwpContext awpContext,
            IOenRepository oenRepository,
            IWarmingManager warmingManager, 
            BaseStatsProvider statsProvider)
        {
            _awpContext = awpContext;
            _statsProvider = statsProvider;
            _oenRepository = oenRepository as OenRepository;

            _warmingManager = warmingManager as WarmingManager;
            _warmingManager.OnStart += (s, e) => OnJobEventStart(s, e);
            _warmingManager.OnEnd += (s, e) => OnJobEventEnd(s, e);
            _warmingManager.OnError += (s, e) => OnJobEventError(s, e);
            _warmingManager.OnReport += (s, e) => OnJobEventReport(s, e);
            _warmingManager.OnProgressReport += (s, e) =>
            {
                OnStatsReport(s,new DataEventArgs<IEnumerable<StatsResult>>(statsProvider.GetResults(true)));
                OnJobProgressReport(s, e);
            };

            ProcessesToSkip = new List<string>();
        }
Exemple #3
0
 public Campaign()
 {
     TargetNames = new List<TargetName>();
     MonitorMissingHeat = false;
 }