public IObservable<BitmapSource> GetAvatar(IAvatarContainer apiAccount)
        {
            if (apiAccount.AvatarUrl == null)
            {
                return Observable.Return(DefaultAvatar(apiAccount));
            }

            Uri avatarUrl;
            Uri.TryCreate(apiAccount.AvatarUrl, UriKind.Absolute, out avatarUrl);
            Debug.Assert(avatarUrl != null, "Cannot have a null avatar url");

            return imageCache.GetImage(avatarUrl)
                .Catch<BitmapSource, Exception>(_ => Observable.Return(DefaultAvatar(apiAccount)));
        }
        public IObservable <BitmapSource> GetAvatar(IAvatarContainer apiAccount)
        {
            if (apiAccount.AvatarUrl == null)
            {
                return(Observable.Return(DefaultAvatar(apiAccount)));
            }

            Uri avatarUrl;

            Uri.TryCreate(apiAccount.AvatarUrl, UriKind.Absolute, out avatarUrl);
            Debug.Assert(avatarUrl != null, "Cannot have a null avatar url");

            return(imageCache.GetImage(avatarUrl)
                   .Catch <BitmapSource, Exception>(_ => Observable.Return(DefaultAvatar(apiAccount))));
        }
Exemple #3
0
        BitmapImage DefaultAvatar(IAvatarContainer apiAccount)
        {
            Guard.ArgumentNotNull(apiAccount, nameof(apiAccount));

            return(apiAccount.IsUser ? DefaultUserBitmapImage : DefaultOrgBitmapImage);
        }
Exemple #4
0
 public IObservable <Unit> InvalidateAvatar(IAvatarContainer apiAccount)
 {
     return(String.IsNullOrWhiteSpace(apiAccount?.Login)
         ? Observable.Return(Unit.Default)
         : cache.Invalidate(apiAccount.Login));
 }
 BitmapImage DefaultAvatar(IAvatarContainer apiAccount)
 {
     return(apiAccount.IsUser ? DefaultUserBitmapImage : DefaultOrgBitmapImage);
 }
 BitmapImage DefaultAvatar(IAvatarContainer apiAccount)
 {
     return apiAccount.IsUser ? DefaultUserBitmapImage : DefaultOrgBitmapImage;
 }