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