private void LoadPreExistingAttachments() { var entry = nodeEntryFinder.GetEntry(new[] { objectPath.LocalNodeId }); if (entry.HasNoValue) { return; } var tableContextNodeId = entry.Value.GetChildOfType(Constants.NID_TYPE_ATTACHMENT_TABLE).LocalSubnodeId; foreach (var rowId in rowIndexReader.GetAllRowIds(new[] { objectPath.LocalNodeId, tableContextNodeId })) { objectTracker.TrackObject(objectPath.Add(NID.OfValue(rowId.RowId)), ObjectTypes.Attachment, ObjectStates.Loaded); } }
private Maybe <NID> GetEmbeddedMessageNodeId() { var entry = nodeEntryFinder.GetEntry(new[] { objectPath.ParentObjectPath.LocalNodeId, objectPath.LocalNodeId }); if (entry.HasNoValue) { return(Maybe <NID> .NoValue()); } var attachMethodPropertyValue = GetProperty(MAPIProperties.PidTagAttachMethod); if (!attachMethodPropertyValue.HasValueAnd(v => v.Value.HasFlag(MAPIProperties.afEmbeddedMessage))) { return(Maybe <NID> .NoValue()); } var attachDataObject = GetProperty(MAPIProperties.PidTagAttachDataObject); return(NID.OfValue(attachDataObject.Value.Value.Take(4))); }
public BinaryData[] Read(NID[] nodePath, Maybe <int> blockIndex) { var nodeEntry = nodeEntryFinder.GetEntry(nodePath); return(Read(nodeEntry.Value.NodeDataBlockId, blockIndex)); }