コード例 #1
0
 public DuplicateSlugReport(
     SlugReservationKey key,
     HashSet <ForgeEntity> entities)
 {
     Key      = key;
     Entities = entities;
 }
        public async Task <Option <EntityIdentifier> > FindPublishedEntityAsync(SlugReservationKey key)
        {
            var distributionResource = new DistributionResource(key.EntityType, key.EntityCode, key.Culture);
            var collection           = _collectionFactory.GetDistributionResourceCollection(distributionResource);

            var publishedDocument = await collection.MatchAsync(
                async c => await GetPublishedDocumentByIdAsync(c, key.Slug).ConfigureAwait(false),
                () => Option <BsonDocument> .None).ConfigureAwait(false);

            return(publishedDocument.Match(
                       d => Option <EntityIdentifier> .Some(ToEntityIdentifier(d)),
                       () => Option <EntityIdentifier> .None));
        }