Пример #1
0
		public override IStrategyResult ApplyStrategy(IDiscoveryStrategy strategy)
		{
			List<IMail> results = new List<IMail>();

			foreach (IContentItem item in _dataSource)
			{
				if (item != null)
				{
					if (StrategyManager.CancellationPending)
					{
						return new StrategyResult();
					}

					Logger.LogInfo(string.Format("OutlookSentItemSource.Applying Strategy {0}, on {1}", strategy.DisplayName, (item as IMail).Subject));
					OnApplyingStrategy(new StrategyEventArgs() { MailItem = (item as IMail), Strategy = strategy, Source = this });
					if (strategy.CompareTo(item) == 0)
					{
						results.Add(item as IMail);
						break;
					}
				}
			}

			IMail parentMail = ExtractParentContentItem(results);

			IStrategyResult strategyResult = new StrategyResult();
			if (parentMail != null)
			{
				strategyResult.Add(parentMail);
			}
			return strategyResult;
		}
Пример #2
0
 public virtual IStrategyResult ApplyStrategy(IDiscoveryStrategy strategy)
 {
     IStrategyResult strategyResult = new StrategyResult();
     foreach (var item in DataSource)
     {
         if (strategy.CompareTo(item) == 0)
         {
             strategyResult.Add(item);
         }
     }
     return strategyResult;
 }