Пример #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;
 }
Пример #3
0
		private void TestStrategy(IContentSource source, IDiscoveryStrategy strategy)
		{
			if (!Global.IsReadyRedlineEnabled)
				return;

			RedemptionLoader.DllLocation32Bit = Path.Combine(Workshare.Interop.Options.OptionApi.GetString("ProgramLocation"), "Redemption.dll");

			IStrategyResult result = source.ApplyStrategy(strategy);

			Assert.AreEqual(1, result.Count);

			IMail sentMail = result.First() as IMail;

			Assert.IsNotNull(sentMail);
			Assert.AreEqual(1, sentMail.Attachments.Count);
			Assert.IsTrue(sentMail.Attachments.First().IsModified == false);
			Assert.IsNotNull(sentMail.Attachments.First().TrackingId);
			Assert.IsTrue("ReadyRedlineDocumentTrackingTest.doc" == sentMail.Attachments.First().DisplayName);
		}