public static async Task <PostReference> FromCacheAsync( IInternalUserLoader internalUserLoader, CachePostReference cachePostReference, CancellationToken cancellationToken) { Ensure.Argument.IsNotNull(internalUserLoader, nameof(internalUserLoader)); Ensure.Argument.IsNotNull(cachePostReference, nameof(cachePostReference)); // Retrieve dependencies. var user = await internalUserLoader.FetchAsync(cachePostReference.UserId, cancellationToken); Ensure.Dependency.IsNotNull(user, nameof(user)); return(new PostReference { User = user, OriginalEntity = cachePostReference.OriginalEntity, PostId = cachePostReference.PostId, VersionId = cachePostReference.VersionId, Type = PostType.FromString(cachePostReference.Type), Role = cachePostReference.Role, IsPublic = cachePostReference.IsPublic }); }
public static PostType FromString(string postType, bool forceWildcard = false) { Ensure.Argument.IsNotNullOrWhiteSpace(postType, nameof(postType)); // Normalize the provided type. postType = postType.Trim().ToLower(); return(PostType.FromUri(new Uri(postType, UriKind.Absolute), forceWildcard)); }
public bool Equals(PostType other) { return(this.ToString() == other.ToString()); }