// Token: 0x060023D6 RID: 9174 RVA: 0x000CEA34 File Offset: 0x000CCC34 private bool IsQueryResultObsolete(OwaStoreObjectId contextFolderId) { SortBy[] sortByProperties = this.GetSortByProperties(); SortBy[] folderSortBy = base.UserContext.MapiNotificationManager.GetFolderSortBy(contextFolderId); if (folderSortBy == null || sortByProperties.Length != folderSortBy.Length) { return(true); } for (int i = 0; i < sortByProperties.Length; i++) { if (sortByProperties[i].ColumnDefinition != folderSortBy[i].ColumnDefinition || sortByProperties[i].SortOrder != folderSortBy[i].SortOrder) { return(true); } } FolderVirtualListViewFilter folderVirtualListViewFilter = base.UserContext.MapiNotificationManager.GetFolderFilter(contextFolderId); return(folderVirtualListViewFilter != this.folderFilter || (this.folderFilter != null && !this.folderFilter.Equals(folderVirtualListViewFilter))); }
// Token: 0x060023C3 RID: 9155 RVA: 0x000CE000 File Offset: 0x000CC200 public MessageVirtualListView2(UserContext userContext, string id, bool isMultiLine, ColumnId sortedColumn, SortOrder sortOrder, Folder contextFolder, Folder dataFolder, QueryFilter queryFilter, SearchScope folderScope, bool isInSearch, FolderVirtualListViewFilter folderFilter) : base(userContext, id, isMultiLine, sortedColumn, sortOrder) { this.contextFolder = contextFolder; this.dataFolder = dataFolder; this.queryFilter = queryFilter; this.folderScope = folderScope; this.isInSearch = isInSearch; this.folderFilter = folderFilter; this.favoritesFolderFilter = Utilities.GetFavoritesFilterViewParameter(base.UserContext, this.contextFolder); }
// Token: 0x0600228B RID: 8843 RVA: 0x000C5940 File Offset: 0x000C3B40 private QueryFilter GetQueryFilter() { List <QueryFilter> list = new List <QueryFilter>(10); if (this.SendToMe) { list.Add(new ComparisonFilter(ComparisonOperator.Equal, MessageItemSchema.MessageToMe, true)); } if (this.CcToMe) { list.Add(new ComparisonFilter(ComparisonOperator.Equal, MessageItemSchema.MessageCcMe, true)); } if (this.IsUnread) { list.Add(new BitMaskFilter(MessageItemSchema.Flags, 1UL, false)); } if (!string.IsNullOrEmpty(this.Categories)) { string[] array = this.Categories.Split(new char[] { ',' }); List <QueryFilter> list2 = new List <QueryFilter>(array.Length); foreach (string propertyValue in array) { list2.Add(new ComparisonFilter(ComparisonOperator.Equal, ItemSchema.Categories, propertyValue)); } if (list2.Count > 0) { list.Add((list2.Count > 1) ? new OrFilter(list2.ToArray()) : list2[0]); } } if (!string.IsNullOrEmpty(this.To)) { list.Add(FolderVirtualListViewFilter.BuildTextFilter(this.To, MatchOptions.SubString, new PropertyDefinition[] { ItemSchema.DisplayTo })); } if (!string.IsNullOrEmpty(this.From)) { list.Add(FolderVirtualListViewFilter.BuildTextFilter(this.From, MatchOptions.FullString, FolderVirtualListViewFilter.fromProperties)); } if (this.IsFlag) { list.Add(new ComparisonFilter(ComparisonOperator.Equal, ItemSchema.FlagStatus, FlagStatus.Flagged)); } if (this.IsHighImportance) { list.Add(new ComparisonFilter(ComparisonOperator.Equal, ItemSchema.Importance, Importance.High)); } if (this.HasAttachments) { list.Add(new ComparisonFilter(ComparisonOperator.Equal, ItemSchema.HasAttachment, true)); } if (list.Count == 0) { return(null); } if (list.Count == 1) { return(list[0]); } return(new AndFilter(list.ToArray())); }
// Token: 0x0600227F RID: 8831 RVA: 0x000C5028 File Offset: 0x000C3228 public static FolderVirtualListViewFilter ParseFromPropertyValue(object propertyValue) { string[] array = propertyValue as string[]; if (array == null || array.Length < 2) { return(null); } if (string.IsNullOrEmpty(array[0])) { return(null); } FolderVirtualListViewFilter folderVirtualListViewFilter = new FolderVirtualListViewFilter(); try { folderVirtualListViewFilter.SourceFolderId = OwaStoreObjectId.CreateFromString(array[0]); } catch (OwaInvalidIdFormatException) { return(null); } int num = 0; folderVirtualListViewFilter.version = 0; if (!string.IsNullOrEmpty(array[1])) { string[] array2 = array[1].Split(new char[] { ':' }); if (array2.Length < 1 || !int.TryParse(array2[0], out num)) { num = 0; } if (array2.Length < 2 || !int.TryParse(array2[1], out folderVirtualListViewFilter.version)) { folderVirtualListViewFilter.version = 0; } } folderVirtualListViewFilter.SendToMe = ((num & 1) != 0); folderVirtualListViewFilter.CcToMe = ((num & 2) != 0); folderVirtualListViewFilter.IsUnread = ((num & 4) != 0); folderVirtualListViewFilter.IsHighImportance = ((num & 16) != 0); folderVirtualListViewFilter.HasAttachments = ((num & 32) != 0); folderVirtualListViewFilter.IsFlag = ((num & 8) != 0); int num2 = 0; StringBuilder stringBuilder = new StringBuilder(); bool flag = true; for (int i = 2; i < array.Length; i++) { if (!string.IsNullOrEmpty(array[i])) { if (array[i].StartsWith(";")) { if (num2 == 3 && string.IsNullOrEmpty(folderVirtualListViewFilter.Categories)) { folderVirtualListViewFilter.Categories = stringBuilder.ToString(); } string value = array[i].Substring(";".Length); if ("sTo".Equals(value, StringComparison.OrdinalIgnoreCase)) { num2 = 1; } else if ("sFrm".Equals(value, StringComparison.OrdinalIgnoreCase)) { num2 = 2; } else if ("sCat".Equals(value, StringComparison.OrdinalIgnoreCase)) { num2 = 3; } else { num2 = 0; } } else { switch (num2) { case 1: if (string.IsNullOrEmpty(folderVirtualListViewFilter.To)) { folderVirtualListViewFilter.To = array[i]; } break; case 2: if (string.IsNullOrEmpty(folderVirtualListViewFilter.From)) { folderVirtualListViewFilter.From = array[i]; } break; case 3: if (!flag) { stringBuilder.Append(','); } flag = false; stringBuilder.Append(array[i]); break; } } } } if (num2 == 3 && string.IsNullOrEmpty(folderVirtualListViewFilter.Categories)) { folderVirtualListViewFilter.Categories = stringBuilder.ToString(); } return(folderVirtualListViewFilter); }
// Token: 0x06002284 RID: 8836 RVA: 0x000C54D8 File Offset: 0x000C36D8 public bool EqualsIgnoreVersion(FolderVirtualListViewFilter filter) { return(this.SourceFolderId.Equals(filter.SourceFolderId) && this.SendToMe == filter.SendToMe && this.CcToMe == filter.CcToMe && this.IsUnread == filter.IsUnread && FolderVirtualListViewFilter.CheckCategoryEquals(this.Categories, filter.Categories) && FolderVirtualListViewFilter.CheckStringEquals(this.From, filter.From) && FolderVirtualListViewFilter.CheckStringEquals(this.To, filter.To) && this.IsFlag == filter.IsFlag && this.IsHighImportance == filter.IsHighImportance && this.HasAttachments == filter.HasAttachments); }
// Token: 0x06002283 RID: 8835 RVA: 0x000C54A4 File Offset: 0x000C36A4 public override bool Equals(object obj) { FolderVirtualListViewFilter folderVirtualListViewFilter = obj as FolderVirtualListViewFilter; return(folderVirtualListViewFilter != null && this.EqualsIgnoreVersion(folderVirtualListViewFilter) && this.version == folderVirtualListViewFilter.version); }