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)))); }
BitmapImage DefaultAvatar(IAvatarContainer apiAccount) { Guard.ArgumentNotNull(apiAccount, nameof(apiAccount)); return(apiAccount.IsUser ? DefaultUserBitmapImage : DefaultOrgBitmapImage); }
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; }