/// <summary>
        /// Writes a BSON ObjectId to the stream.
        /// </summary>
        /// <param name="value">The value.</param>
        void IBsonStream.WriteBsonObjectId(ObjectId value)
        {
            if (!_isOpen)
            {
                StreamIsClosed();
            }
            EnsureWriteable();

            var newPosition = _position + 12;

            EnsurePosition(newPosition);

            value.GetBytes(_buffer, _position);

            SetPositionAfterWrite(newPosition);
        }
        public IConfigurable Read <T>(ObjectId identity) where T : IConfigurable, new()
        {
            ContentFilterConfig contentFilterConfig = this.session.FindSingletonConfigurationObject <ContentFilterConfig>();

            if (identity != null && contentFilterConfig != null)
            {
                string @string = Encoding.Unicode.GetString(identity.GetBytes());
                foreach (ContentFilterPhrase contentFilterPhrase in contentFilterConfig.GetPhrases())
                {
                    if (string.Equals(contentFilterPhrase.Phrase, @string, StringComparison.OrdinalIgnoreCase))
                    {
                        return(contentFilterPhrase);
                    }
                }
            }
            return(null);
        }
        /// <summary>
        /// Writes a BSON ObjectId to the stream.
        /// </summary>
        /// <param name="value">The value.</param>
        void IBsonStream.WriteBsonObjectId(ObjectId value)
        {
            PrepareToWrite(12);

            var segment = _byteBuffer.AccessBackingBytes(_position);

            if (segment.Count >= 12)
            {
                value.GetBytes(segment.Array, segment.Offset);
            }
            else
            {
                var bytes = value.ToByteArray();
                _byteBuffer.WriteBytes(_position, bytes, 0, 12);
            }

            SetPositionAfterWrite(_position + 12);
        }
        /// <inheritdoc/>
        public override void WriteObjectId(ObjectId value)
        {
            ThrowIfDisposed();

            PrepareToWrite(12);

            var segment = _buffer.AccessBackingBytes(_position);

            if (segment.Count >= 12)
            {
                value.GetBytes(segment.Array, segment.Offset);
            }
            else
            {
                var bytes = value.ToByteArray();
                _buffer.SetBytes(_position, bytes, 0, 12);
            }

            SetPositionAfterWrite(_position + 12);
        }
        /// <inheritdoc/>
        public override void WriteObjectId(ObjectId value)
        {
            ThrowIfDisposed();
            
            PrepareToWrite(12);

            var segment = _buffer.AccessBackingBytes(_position);
            if (segment.Count >= 12)
            {
                value.GetBytes(segment.Array, segment.Offset);
            }
            else
            {
                var bytes = value.ToByteArray();
                _buffer.SetBytes(_position, bytes, 0, 12);
            }

            SetPositionAfterWrite(_position + 12);
        }
Example #6
0
        public override IConfigurable Read(MailboxStoreTypeProvider session, ObjectId identity)
        {
            Guid requestGuid = new Guid(identity.GetBytes());

            return(MRSRequest.Read <MRSRequest>(session, requestGuid));
        }
        /// <summary>
        /// Writes a BSON ObjectId to the stream.
        /// </summary>
        /// <param name="value">The value.</param>
        void IBsonStream.WriteBsonObjectId(ObjectId value)
        {
            PrepareToWrite(12);

            var segment = _byteBuffer.AccessBackingBytes(_position);
            if (segment.Count >= 12)
            {
                value.GetBytes(segment.Array, segment.Offset);
            }
            else
            {
                var bytes = value.ToByteArray();
                _byteBuffer.WriteBytes(_position, bytes, 0, 12);
            }

            SetPositionAfterWrite(_position + 12);
        }
        /// <summary>
        /// Writes a BSON ObjectId to the stream.
        /// </summary>
        /// <param name="value">The value.</param>
        void IBsonStream.WriteBsonObjectId(ObjectId value)
        {
            if (!_isOpen)
            {
                StreamIsClosed();
            }
            EnsureWriteable();

            var newPosition = _position + 12;
            EnsurePosition(newPosition);

            value.GetBytes(_buffer, _position);

            SetPositionAfterWrite(newPosition);
        }