internal static ExDateTime?GetExDateTimePropertyOrNull(IAnchorStoreObject item, StorePropertyDefinition propertyDefinition) { object property = AnchorHelper.GetProperty <object>(item, propertyDefinition, false); return(MigrationHelperBase.GetValidExDateTime(property as ExDateTime?)); }
public XsoUtcDateTimeProperty(StorePropertyDefinition propertyDef, PropertyDefinition[] prefetchPropDef) : base(propertyDef, prefetchPropDef) { }
public SinglePropertyValueBasedCalendarItemStateDefinition(StorePropertyDefinition targetProperty, TValue targetValue) : this(targetProperty, targetValue, null) { }
// Token: 0x06001503 RID: 5379 RVA: 0x0007B5CF File Offset: 0x000797CF public XsoSensitivityProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
public XsoUtcDateTimeProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
internal static void DefaultDictionarySetter(IDictionary <StorePropertyDefinition, object> dictionary, StorePropertyDefinition propertyDefinition, object value) { if (value == null) { if (dictionary.ContainsKey(propertyDefinition)) { dictionary.Remove(propertyDefinition); return; } } else { dictionary[propertyDefinition] = value; } }
// Token: 0x06001528 RID: 5416 RVA: 0x0007BE8A File Offset: 0x0007A08A public XsoUidProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
// Token: 0x060014E1 RID: 5345 RVA: 0x00079518 File Offset: 0x00077718 public XsoPersistentStringProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
// Token: 0x060014E2 RID: 5346 RVA: 0x00079521 File Offset: 0x00077721 public XsoPersistentStringProperty(StorePropertyDefinition propertyDef, PropertyType type) : base(propertyDef, type) { }
// Token: 0x06002ADD RID: 10973 RVA: 0x000F13EC File Offset: 0x000EF5EC protected override void OnLoad(EventArgs e) { base.OnLoad(e); string itemType = base.GetItemType(); StorePropertyDefinition[] prefetchProperties = new StorePropertyDefinition[] { ItemSchema.BlockStatus, ItemSchema.IsClassified, ItemSchema.Classification, ItemSchema.ClassificationDescription, ItemSchema.ClassificationGuid, ItemSchema.EdgePcl, ItemSchema.LinkEnabled, BodySchema.Codepage, BodySchema.InternetCpid, MessageItemSchema.SenderTelephoneNumber, ItemSchema.FlagStatus, ItemSchema.FlagCompleteTime, MessageItemSchema.ReplyTime, ItemSchema.UtcDueDate, ItemSchema.UtcStartDate, ItemSchema.ReminderDueBy, ItemSchema.ReminderIsSet, StoreObjectSchema.EffectiveRights, ItemSchema.Categories, MessageItemSchema.IsReadReceiptPending, MessageItemSchema.ApprovalDecision, MessageItemSchema.ApprovalDecisionMaker, MessageItemSchema.ApprovalDecisionTime, StoreObjectSchema.PolicyTag, ItemSchema.RetentionDate, MessageItemSchema.TextMessageDeliveryStatus, StoreObjectSchema.ParentItemId }; if (ObjectClass.IsMessage(itemType, false)) { this.Message = base.Initialize <MessageItem>(prefetchProperties); } else { this.Message = base.InitializeAsMessageItem(prefetchProperties); } this.IrmItemHelper = new IRMItemHelper(this.Message, base.UserContext, base.IsPreviewForm, base.IsEmbeddedItem); this.IrmItemHelper.IrmDecryptIfRestricted(); if (ObjectClass.IsOfClass(itemType, "IPM.Note.Microsoft.Fax.CA")) { this.isFaxMessage = true; } this.InitializeReadMessageFormElements(); if (!this.IsSMimeItem) { RenderingUtilities.RenderVotingInfobarMessages(this.Message, this.infobar, base.UserContext); } object obj = this.Message.TryGetProperty(MessageItemSchema.IsDraft); if (obj is bool && (bool)obj) { this.isDraftMessage = true; if (!base.IsPreviewForm) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(-1981719796), InfobarMessageType.Informational); } this.AddIrmMessageToInfobar(); } else { this.AddMessagesToInfobar(); if (this.Message.Id != null && !base.IsEmbeddedItem && !this.Message.IsRead && !base.IsPreviewForm) { this.Message.MarkAsRead(Utilities.ShouldSuppressReadReceipt(base.UserContext, this.Message), false); } } SanitizedHtmlString sanitizedHtmlString = null; if (Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 1)) { if (this.IsClearSignedItem || this.IsOpaqueSignedItem) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(Utilities.IsSMimeFeatureUsable(base.OwaContext) ? (base.IsPreviewForm ? 1871698343 : 1683614199) : -1329088272); } else if (this.IsEncryptedItem) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(Utilities.IsSMimeFeatureUsable(base.OwaContext) ? (base.IsPreviewForm ? 958219031 : 906798671) : -767943720); } } else if (this.IsSMimeItem) { if (Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 16)) { if (Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 2)) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(base.IsPreviewForm ? -1214530702 : 1697878138); } else if (Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 4)) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(base.IsPreviewForm ? 1899236370 : 330022834); } } else { sanitizedHtmlString = SanitizedHtmlString.FromStringId((this.IsClearSignedItem || this.IsOpaqueSignedItem) ? 1965026784 : -514535677); } } if (sanitizedHtmlString != null) { this.infobar.AddMessage(sanitizedHtmlString, InfobarMessageType.Warning); } }
// Token: 0x060013FC RID: 5116 RVA: 0x000739CA File Offset: 0x00071BCA public XsoBase64StringProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
// Token: 0x060014ED RID: 5357 RVA: 0x00079CC2 File Offset: 0x00077EC2 public XsoReadFlagProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
public XsoBooleanProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
public XsoBooleanProperty(StorePropertyDefinition propertyDef, PropertyDefinition[] prefetchPropDef) : base(propertyDef, prefetchPropDef) { }
internal static void DefaultItemSetter(IItem item, StorePropertyDefinition propertyDefinition, object value, IMdbPropertyMappingContext context) { item.SetOrDeleteProperty(propertyDefinition, value); }
// Token: 0x060014E3 RID: 5347 RVA: 0x0007952B File Offset: 0x0007772B public XsoPersistentStringProperty(StorePropertyDefinition propertyDef, PropertyType type, params PropertyDefinition[] prefechProperties) : base(propertyDef, type, prefechProperties) { }
internal static object DefaultDictionaryGetter(IDictionary <StorePropertyDefinition, object> dictionary, StorePropertyDefinition propertyDefinition) { object result = null; dictionary.TryGetValue(propertyDefinition, out result); return(result); }
public override void CreateFolder(FolderMap.EnumFolderContext context, FolderRecWrapper sourceFolderRecWrapper, CreateFolderFlags createFolderFlags, out byte[] newFolderEntryId) { if (sourceFolderRecWrapper.IsInternalAccess) { throw new InternalAccessFolderCreationIsNotSupportedException(); } newFolderEntryId = null; FolderMapping folderMapping = sourceFolderRecWrapper as FolderMapping; FolderHierarchy folderHierarchy = base.DestMailboxWrapper.FolderMap as FolderHierarchy; byte[] sessionSpecificEntryId = base.DestMailbox.GetSessionSpecificEntryId(folderMapping.EntryId); FolderMapping folderMapping2 = folderMapping.Parent as FolderMapping; bool isRoot = base.IsRoot; byte[] parentId; switch (folderMapping2.WKFType) { case WellKnownFolderType.Root: case WellKnownFolderType.NonIpmSubtree: case WellKnownFolderType.IpmSubtree: case WellKnownFolderType.EFormsRegistry: parentId = folderHierarchy.GetWellKnownFolder(folderMapping2.WKFType).EntryId; break; default: if (isRoot || this.ShouldCreateUnderParentInSecondary()) { parentId = base.DestMailbox.GetSessionSpecificEntryId(folderMapping.ParentId); } else { parentId = folderHierarchy.GetWellKnownFolder(WellKnownFolderType.IpmSubtree).EntryId; } break; } byte[] entryId = folderMapping.FolderRec.EntryId; byte[] parentId2 = folderMapping.FolderRec.ParentId; folderMapping.FolderRec.EntryId = sessionSpecificEntryId; folderMapping.FolderRec.ParentId = parentId; base.DestMailbox.CreateFolder(folderMapping.FolderRec, createFolderFlags, out newFolderEntryId); folderMapping.FolderRec.EntryId = entryId; folderMapping.FolderRec.ParentId = parentId2; List <PropValueData> list = new List <PropValueData>(2); Guid contentMailboxGuid = this.GetContentMailboxGuid(sourceFolderRecWrapper); StorePropertyDefinition replicaList = CoreFolderSchema.ReplicaList; byte[] bytesFromStringArray = ReplicaListProperty.GetBytesFromStringArray(new string[] { contentMailboxGuid.ToString() }); list.Add(new PropValueData(PropTag.ReplicaList, bytesFromStringArray)); using (IDestinationFolder folder = base.DestMailbox.GetFolder(sessionSpecificEntryId)) { if (folder == null) { MrsTracer.Service.Error("Something deleted destination folder from under us", new object[0]); throw new UnexpectedErrorPermanentException(-2147221238); } if (isRoot && !this.AssociatedDumpsterExists(folder)) { byte[] value = this.CreateAssociatedDumpsterFolder(folderMapping.FolderName, bytesFromStringArray, sessionSpecificEntryId); list.Add(new PropValueData(PropTag.IpmWasteBasketEntryId, value)); } folder.SetProps(list.ToArray()); } }
internal static object DefaultItemGetter(IItem item, StorePropertyDefinition propertyDefinition, IMdbPropertyMappingContext context) { return(item.TryGetProperty(propertyDefinition)); }
public override void CopyFolderProperties(FolderRecWrapper sourceFolderRecWrapper, ISourceFolder sourceFolder, IDestinationFolder destFolder, FolderRecDataFlags dataToCopy, out bool wasPropertyCopyingSkipped) { Guid empty = Guid.Empty; bool isRoot = base.IsRoot; bool flag = false; wasPropertyCopyingSkipped = false; FolderMapping folderMapping = sourceFolderRecWrapper as FolderMapping; while (folderMapping.WKFType != WellKnownFolderType.Root) { if (folderMapping.IsLegacyPublicFolder) { return; } folderMapping = (folderMapping.Parent as FolderMapping); } if (destFolder == null) { if (!isRoot || ((FolderMapping)sourceFolderRecWrapper).IsSystemPublicFolder) { MrsTracer.Service.Debug("Skipping final property copying for \"{0}\" folder since it's contents don't reside in this mailbox", new object[] { sourceFolderRecWrapper.FullFolderName }); return; } throw new FolderCopyFailedPermanentException(sourceFolderRecWrapper.FullFolderName); } else { PropValueData[] props = destFolder.GetProps(new PropTag[] { PropTag.ReplicaList, PropTag.IpmWasteBasketEntryId }); IDataConverter <PropValue, PropValueData> dataConverter = new PropValueConverter(); PropValue nativeRepresentation = dataConverter.GetNativeRepresentation(props[0]); byte[] array = nativeRepresentation.Value as byte[]; if (!nativeRepresentation.IsNull() && !nativeRepresentation.IsError() && array != null) { StorePropertyDefinition replicaList = CoreFolderSchema.ReplicaList; string[] stringArrayFromBytes = ReplicaListProperty.GetStringArrayFromBytes(array); if (stringArrayFromBytes.Length > 0 && GuidHelper.TryParseGuid(stringArrayFromBytes[0], out empty)) { flag = (empty == base.TargetMailboxGuid); } } FolderStateSnapshot folderStateSnapshot = base.ICSSyncState[sourceFolderRecWrapper.EntryId]; FolderState state = folderStateSnapshot.State; if (sourceFolder.GetFolderRec(this.GetAdditionalFolderPtags(), GetFolderRecFlags.None).IsGhosted) { folderStateSnapshot.State |= FolderState.IsGhosted; } else { folderStateSnapshot.State &= ~FolderState.IsGhosted; } if (state != folderStateSnapshot.State) { base.SaveICSSyncState(false); } if (!isRoot && !flag) { return; } List <PropValueData> list = new List <PropValueData>(2); bool flag2 = false; if (flag) { PropValue nativeRepresentation2 = dataConverter.GetNativeRepresentation(sourceFolder.GetProps(new PropTag[] { PropTag.PfProxy })[0]); if (!nativeRepresentation2.IsNull() && !nativeRepresentation2.IsError()) { byte[] array2 = nativeRepresentation2.Value as byte[]; if (array2 != null && array2.Length == 16 && new Guid(array2) != Guid.Empty) { Guid a = Guid.Empty; bool flag3 = base.Flags.HasFlag(MailboxCopierFlags.CrossOrg); if (flag3) { a = destFolder.LinkMailPublicFolder(LinkMailPublicFolderFlags.EntryId, sourceFolderRecWrapper.EntryId); } else { a = destFolder.LinkMailPublicFolder(LinkMailPublicFolderFlags.ObjectGuid, array2); } if (a != Guid.Empty) { list.Add(new PropValueData(PropTag.PfProxy, a.ToByteArray())); list.Add(new PropValueData(PropTag.PfProxyRequired, true)); flag2 = true; } else { base.Report.Append(new ReportEntry(MrsStrings.ReportFailedToLinkADPublicFolder(sourceFolderRecWrapper.FullFolderName, BitConverter.ToString(array2), BitConverter.ToString(sourceFolderRecWrapper.EntryId)), ReportEntryType.Warning)); } } } } if (!flag2) { list.Add(new PropValueData(PropTag.PfProxy, Guid.Empty.ToByteArray())); list.Add(new PropValueData(PropTag.PfProxyRequired, false)); } List <PropValueData> list2 = new List <PropValueData>(9); if (isRoot) { if (!flag) { dataToCopy &= (FolderRecDataFlags.SecurityDescriptors | FolderRecDataFlags.FolderAcls | FolderRecDataFlags.ExtendedAclInformation); } list2.AddRange(list); } else { byte[] sessionSpecificEntryId = this.hierarchyMailbox.GetSessionSpecificEntryId(sourceFolderRecWrapper.EntryId); using (IDestinationFolder folder = this.hierarchyMailbox.GetFolder(sessionSpecificEntryId)) { if (folder == null) { MrsTracer.Service.Error("Something deleted destination hierarchy folder from under us", new object[0]); throw new UnexpectedErrorPermanentException(-2147221238); } if (list.Count > 0) { folder.SetProps(list.ToArray()); } } } base.CopyFolderProperties(sourceFolderRecWrapper, sourceFolder, destFolder, dataToCopy, out wasPropertyCopyingSkipped); PropTag[] pta = new PropTag[] { PropTag.DisablePeruserRead, PropTag.OverallAgeLimit, PropTag.RetentionAgeLimit, PropTag.PfQuotaStyle, PropTag.PfOverHardQuotaLimit, PropTag.PfStorageQuota, PropTag.PfMsgSizeLimit }; foreach (PropValueData propValueData in sourceFolder.GetProps(pta)) { PropValue nativeRepresentation3 = dataConverter.GetNativeRepresentation(propValueData); if (!nativeRepresentation3.IsNull() && !nativeRepresentation3.IsError()) { if (propValueData.PropTag == 1721303043 && (int)propValueData.Value > 0) { propValueData.Value = (int)EnhancedTimeSpan.FromDays((double)((int)propValueData.Value)).TotalSeconds; } list2.Add(propValueData); } } if (list2.Count > 0) { destFolder.SetProps(list2.ToArray()); } return; } }
// Token: 0x06001529 RID: 5417 RVA: 0x0007BE93 File Offset: 0x0007A093 public XsoUidProperty(StorePropertyDefinition propertyDef, PropertyType type) : base(propertyDef, type) { }
// Token: 0x060013D6 RID: 5078 RVA: 0x000720F3 File Offset: 0x000702F3 public XsoGuidProperty(StorePropertyDefinition propertyDef, PropertyType type, PropertyDefinition[] prefetchPropDef) : base(propertyDef, type, prefetchPropDef) { }
// Token: 0x06001504 RID: 5380 RVA: 0x0007B5D8 File Offset: 0x000797D8 public XsoSensitivityProperty(StorePropertyDefinition propertyDef, PropertyType type) : base(propertyDef, type) { }
// Token: 0x060014B4 RID: 5300 RVA: 0x000783E2 File Offset: 0x000765E2 public XsoIntegerProperty(StorePropertyDefinition propertyDef, bool nodelete) : base(propertyDef) { this.nodelete = nodelete; }
public XsoUtcDateTimeProperty(StorePropertyDefinition propertyDef, PropertyType type) : base(propertyDef, type) { }
// Token: 0x060014B7 RID: 5303 RVA: 0x00078406 File Offset: 0x00076606 public XsoIntegerProperty(StorePropertyDefinition propertyDef, PropertyType type, PropertyDefinition[] prefetchProps) : base(propertyDef, type, prefetchProps) { }
public SinglePropertyValueBasedCalendarItemStateDefinition(StorePropertyDefinition targetProperty, HashSet <TValue> targetValueSet) : base(targetProperty.Name) { Util.ThrowOnNullArgument(targetValueSet, "targetValueSet"); this.TargetProperty = targetProperty; this.TargetValueSet = targetValueSet; }
public XsoManagerProperty(StorePropertyDefinition propertyDef) : base(propertyDef) { }
public SinglePropertyValueBasedCalendarItemStateDefinition(StorePropertyDefinition targetProperty, TValue targetValue, IEqualityComparer <TValue> equalityComparer) : this(targetProperty, SinglePropertyValueBasedCalendarItemStateDefinition <TValue> .GetValueSetFromSingleValue(targetValue, equalityComparer)) { }
internal static ExDateTime GetExDateTimePropertyOrDefault(IAnchorStoreObject item, StorePropertyDefinition propertyDefinition, ExDateTime defaultTime) { ExDateTime?exDateTimePropertyOrNull = AnchorHelper.GetExDateTimePropertyOrNull(item, propertyDefinition); if (exDateTimePropertyOrNull != null) { return(exDateTimePropertyOrNull.Value); } return(defaultTime); }