Ejemplo n.º 1
0
        /// <summary>
        /// Initialises a new instance of the <see cref="DocumentWithMetadata{TDocument}"/> class.
        /// </summary>
        /// <param name="metadata">The metadata.</param>
        /// <param name="document">The document.</param>
        public DocumentWithMetadata(DocumentMetadata metadata, TDocument document)
        {
            if (metadata == null)
            {
                throw new ArgumentNullException(nameof(metadata));
            }
            if (document == null)
            {
                throw new ArgumentNullException(nameof(document));
            }

            Metadata = metadata;
            Document = document;
        }
        private DocumentWithMetadata <TDocument> ReadDocumentWithMetadata <TDocument>(
            DocumentTypeMapping <TDocument> mapping,
            UnversionedDbDocument document)
        {
            var metadata = new DocumentMetadata(document.CreatedTimestamp, document.Timestamp, document.Actor);

            TDocument content;

            if (!TryGetDocumentContent(document, mapping, out content, out _))
            {
                return(null);
            }

            return(new DocumentWithMetadata <TDocument>(metadata, content));
        }
Ejemplo n.º 3
0
        private DocumentReadResult(
            string documentId,
            DocumentMetadata metadata,
            TDocument document,
            DocumentReadFailureDetails failureDetails,
            DocumentReadResultType resultType)
        {
            DocumentId     = documentId;
            FailureDetails = failureDetails;
            ResultType     = resultType;

            // Both may be null.
            Metadata = metadata;
            Document = document;
        }
        private DocumentReadResult <TDocument> ReadDocument <TDocument>(
            DocumentTypeMapping <TDocument> mapping,
            UnversionedDbDocument document)
        {
            var metadata = new DocumentMetadata(document.CreatedTimestamp, document.Timestamp, document.Actor);

            TDocument content;
            DocumentReadFailureDetails failure;

            if (!TryGetDocumentContent(document, mapping, out content, out failure))
            {
                return(DocumentReadResult <TDocument> .CreateFailure(document.DocumentId, metadata, failure));
            }

            return(DocumentReadResult <TDocument> .CreateOkay(document.DocumentId, metadata, content));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Creates a successful read result.
        /// </summary>
        /// <param name="documentId">The document id.</param>
        /// <param name="metadata">The document metadata.</param>
        /// <param name="document">The document.</param>
        /// <returns>A document read result indicating success.</returns>
        public static DocumentReadResult <TDocument> CreateOkay(string documentId, DocumentMetadata metadata, TDocument document)
        {
            if (documentId == null)
            {
                throw new ArgumentNullException(nameof(documentId));
            }
            if (metadata == null)
            {
                throw new ArgumentNullException(nameof(metadata));
            }
            if (document == null)
            {
                throw new ArgumentNullException(nameof(document));
            }

            return(new DocumentReadResult <TDocument>(documentId, metadata, document, null, DocumentReadResultType.Loaded));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Creates a unsuccessful read result.
        /// </summary>
        /// <param name="documentId">The document id.</param>
        /// <param name="metadata">The document metadata.</param>
        /// <param name="failureDetails">The failure details.</param>
        /// <returns>A document read result indicating failure.</returns>
        public static DocumentReadResult <TDocument> CreateFailure(
            string documentId,
            DocumentMetadata metadata,
            DocumentReadFailureDetails failureDetails)
        {
            if (documentId == null)
            {
                throw new ArgumentNullException(nameof(documentId));
            }
            if (metadata == null)
            {
                throw new ArgumentNullException(nameof(metadata));
            }
            if (failureDetails == null)
            {
                throw new ArgumentNullException(nameof(failureDetails));
            }

            return(new DocumentReadResult <TDocument>(documentId, metadata, default(TDocument), failureDetails, DocumentReadResultType.Failed));
        }