/// <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)); }
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)); }
/// <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)); }
/// <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)); }