Пример #1
0
        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)));
        }
Пример #2
0
        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))));
        }
Пример #3
0
        BitmapImage DefaultAvatar(IAvatarContainer apiAccount)
        {
            Guard.ArgumentNotNull(apiAccount, nameof(apiAccount));

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