internal MdbDocumentAdapter(MdbCompositeItemIdentity id, PropertyDefinition[] propertiesToLoad, IItem item, MailboxSession session, MdbPropertyMap propertyMap, bool allowItemBind = true) { Util.ThrowOnNullArgument(id, "id"); Util.ThrowOnNullArgument(propertyMap, "propertyMap"); this.id = id; this.propertyMap = propertyMap; this.mappedPropertiesToLoadOnBind = MdbDocumentAdapter.GetMappings(this.propertyMap, propertiesToLoad); ExAssert.RetailAssert(this.mappedPropertiesToLoadOnBind != null, "Store Properties to load is null"); this.Item = item; this.Session = session; if (this.Item == null && this.Session == null) { throw new ArgumentException("session and item are both null"); } this.shouldDisposeItem = false; this.allowItemBind = allowItemBind; this.diagnosticsSession = DiagnosticsSession.CreateComponentDiagnosticsSession("MdbDocumentAdapter", ComponentInstance.Globals.Search.ServiceName, ExTraceGlobals.MdbDocumentAdapterTracer, (long)this.GetHashCode()); }
internal MdbDocument(MdbCompositeItemIdentity identity, DocumentOperation operation, MdbDocumentAdapter documentAdapter) : base(identity, operation, documentAdapter) { Util.ThrowOnNullArgument(documentAdapter, "documentAdapter"); this.disposeTracker = this.GetDisposeTracker(); }
internal MdbDocument(MdbCompositeItemIdentity identity, PropertyDefinition[] propertiesToPreload, Item item, MailboxSession session, MdbPropertyMap propertyMap, DocumentOperation operation) : this(identity, operation, new MdbDocumentAdapter(identity, propertiesToPreload, item, session, propertyMap, true)) { }
internal MdbDocument(MdbCompositeItemIdentity identity, PropertyDefinition[] propertiesToPreload, Item item, MdbPropertyMap propertyMap, DocumentOperation operation) : this(identity, propertiesToPreload, item, null, propertyMap, operation) { }
internal MdbDocument(MdbCompositeItemIdentity identity, PropertyDefinition[] propertiesToPreload, MailboxSession session, MdbPropertyMap propertyMap, DocumentOperation operation) : this(identity, propertiesToPreload, null, session, propertyMap, operation) { }
private bool Equals(MdbCompositeItemIdentity other) { return(other != null && (object.ReferenceEquals(other, this) || (this.MdbGuid.Equals(other.MdbGuid) && this.MailboxGuid.Equals(other.MailboxGuid) && this.MailboxNumber.Equals(other.MailboxNumber) && this.ItemId.Equals(other.ItemId) && this.DocumentId.Equals(other.DocumentId)))); }
internal MdbDocumentAdapter(MdbCompositeItemIdentity id, PropertyDefinition[] propertiesToLoad, IItem item, MdbPropertyMap propertyMap) : this(id, propertiesToLoad, item, null, propertyMap, true) { }
internal MdbDocumentAdapter(MdbCompositeItemIdentity id, PropertyDefinition[] propertiesToLoad, MailboxSession session, MdbPropertyMap propertyMap) : this(id, propertiesToLoad, null, session, propertyMap, true) { }