Exemple #1
0
        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
            });
        }
Exemple #2
0
        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));
        }
Exemple #3
0
 public bool Equals(PostType other)
 {
     return(this.ToString() == other.ToString());
 }