internal static SyncRequest CreateSyncRequestForAllMessages(string syncKey, string serverId, int windowSize, bool recentOnly) { SyncFilterType filter = recentOnly ? SyncFilterType.ThreeDaysBack : SyncFilterType.NoFilter; Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Collection item = EasRequestGenerator.CollectionForSyncMetadata(syncKey, serverId, windowSize, filter); return(new SyncRequest { Collections = { item } }); }
internal static GetItemEstimateRequest CreateEstimateRequest(string syncKey, string serverId, bool recentOnly) { SyncFilterType filter = recentOnly ? SyncFilterType.ThreeDaysBack : SyncFilterType.NoFilter; Microsoft.Exchange.Connections.Eas.Model.Request.GetItemEstimate.Collection item = EasRequestGenerator.CollectionForItemEstimate(syncKey, serverId, filter); return(new GetItemEstimateRequest { Collections = { item } }); }
public static SyncFilterList Create(IEnumerable<string> items, SyncFilterType filterType) { SyncFilterList filterList = null; switch (filterType) { case SyncFilterType.ByWhiteList: filterList = new WhiteListFilter(items, filterType); break; case SyncFilterType.ByExtensions: filterList = new ExtensionsListFilter(items, filterType); break; } if (filterList != null) { filterList.Init(); return filterList; } throw new NotImplementedException("Filter list of this type is not realized"); }
public ExtensionsListFilter(IEnumerable<string> items, SyncFilterType filterType) : base(items, filterType) { }
protected SyncFilterList(IEnumerable<string> items, SyncFilterType filterType) { FilterType = filterType; _sourceItems.AddRange(items.Distinct()); }
public WhiteListFilter(IEnumerable<string> items, SyncFilterType filterType) : base(items, filterType) { }
private static Microsoft.Exchange.Connections.Eas.Model.Request.GetItemEstimate.Collection CollectionForItemEstimate(string syncKey, string serverId, SyncFilterType filter) { Microsoft.Exchange.Connections.Eas.Model.Request.GetItemEstimate.Collection collection = new Microsoft.Exchange.Connections.Eas.Model.Request.GetItemEstimate.Collection { SyncKey = syncKey, CollectionId = serverId }; Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Options item = new Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Options { FilterType = new byte?((byte)filter) }; collection.Options.Add(item); return(collection); }
private static Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Collection CollectionForSyncMetadata(string syncKey, string serverId, int windowSize, SyncFilterType filter) { Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Collection collection = new Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Collection { SyncKey = syncKey, CollectionId = serverId, DeletesAsMoves = new bool?(false), WindowSize = new int?(Math.Max(0, Math.Min(windowSize, 512))) }; Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Options item = new Microsoft.Exchange.Connections.Eas.Model.Request.AirSync.Options { FilterType = new byte?((byte)filter) }; collection.Options.Add(item); return(collection); }