コード例 #1
0
 private static IEnumerable <T> Limit <T>(IEnumerable <T> items, int num)
 {
     if (PinboardService.GetInstance().IsTrial)
     {
         return(items.Take(num));
     }
     return(items);
 }
コード例 #2
0
 private static IList <T> Limit <T>(IList <T> items, int num)
 {
     if (PinboardService.GetInstance().IsTrial)
     {
         return(items.Take(num).ToList());
     }
     return(items);
 }
コード例 #3
0
 public TagsViewModel()
 {
     PinboardService.LockAndUsingDB(context =>
     {
         var data = from t in context.Tags.ToList()
                    group t by Utils.ToChar(t.Name) into tag
                    orderby tag.Key
                    select new Group <Tag>(tag.Key, tag);
         TagGroups = data.ToList();
         RaisePropertyChanged(() => TagGroups);
     }, false);
 }
コード例 #4
0
 public void WhenLoginNotSettingExpectEnabled()
 {
     PinboardService.GetInstance().Login("monoXi", "hogehoge")
     .Subscribe(login =>
     {
         login.Is(true);
         SettingsService.LoadEnabledClipboard()
         .Subscribe(x =>
         {
             x.Is(true);
             EnqueueTestComplete();
         });
     });
 }
コード例 #5
0
 public void WhenNotLoginNotSettingExpectDisabled()
 {
     PinboardService.GetInstance().Login("ssssxxxxxxx", "hogehoge")
     .Subscribe(login =>
     {
         login.Is(false);
         SettingsService.LoadEnabledClipboard()
         .Subscribe(x =>
         {
             x.Is(false);
             EnqueueTestComplete();
         });
     });
 }
コード例 #6
0
ファイル: MainViewModel.cs プロジェクト: mono0926/Pinboard
        private void ReloadItems()
        {
            PinboardService.GetInstance().GetPopular().Subscribe(_ =>
            {
                PopularItem.Count = service.popularItems.Count;
                CollapseProgressIfDone();
            });
            PinboardService.GetInstance().GetRecentAll().Subscribe(_ =>
            {
                RecentItem.Count = service.recentItems.Count;
                CollapseProgressIfDone();
            });

            PinboardService.GetInstance().IsLogin().Subscribe(loggedIn =>
            {
                if (loggedIn)
                {
                    PinboardService.GetInstance().GetAllBookmarks()
                    .Subscribe(posts =>
                    {
                        CountBookmarks();
                        CollapseProgressIfDone();
                    }, (ex) =>
                    {
                        Debug.WriteLine(ex.Message);
                        Debug.WriteLine(ex.StackTrace);
                    });
                    PinboardService.GetInstance().GetNetwork().Subscribe(_ =>
                    {
                        NetworkItem.Count = service.networkItems.Count;
                        CollapseProgressIfDone();
                    });

                    PinboardService.GetInstance().GetTags().Subscribe(_ =>
                    {
                        CollapseProgressIfDone();
                    });
                }
                else
                {
                    CollapseProgressIfDone();
                    Messenger.Send(new MyDialogMessage(MessageKeys.LoginFailKey, result =>
                    {
                        Messenger.Send(new NavigationMessage(
                                           new Uri(string.Format(Consts.ViewFormat, "Account"), UriKind.Relative),
                                           new AccountViewModel(), MessageKeys.TransitionKey));
                    }));
                }
            });
        }
コード例 #7
0
ファイル: MainViewModel.cs プロジェクト: mono0926/Pinboard
        private void CollapseProgressIfDone()
        {
            if (PinboardService.GetInstance().IsLoaded)
            {
                ExecuteOnUIThread(() =>
                {
                    IsProgress      = false;
                    ProgressMessage = string.Empty;
                });
            }

            PinboardService.GetInstance().IsLogin()
            .ObserveOn(SynchronizationContext.Current)
            .Subscribe(loggedIn =>
            {
                if (!loggedIn && PinboardService.GetInstance().IsLoadedOnlyNoLogin)
                {
                    IsProgress      = false;
                    ProgressMessage = string.Empty;
                }
            });
        }
コード例 #8
0
        private void SearchResult()
        {
            IsProgressVisible = true;
            Items.Clear();

            Observable.Start(() =>
            {
                BookmarkItemViewModel[] posts = null;
                PinboardService.LockAndUsingDB(context =>
                {
                    posts = PinboardService.GetInstance().allItems
                            .Where(x => string.IsNullOrWhiteSpace(QueryText) || (x.Title.Contains(QueryText) || (!IsTitleOnly && x.Description.Contains(QueryText))))//query
                            .Where(x => !DateEnabled || (x.Time.CompareTo(StartDate) > 0 && x.Time.CompareTo(EndDate) < 0))
                            .Where(x => !x.IsPrivate)
                            .Where(x => x.IsUnread).ToArray();

                    if (tags.Count() > 0)
                    {
                        if (IsAnd)
                        {
                            posts = posts.Where(x => Tags.All(t => x.Tags.Contains(t))).ToArray();
                        }
                        else
                        {
                            posts = posts.Where(x => Tags.Any(t => x.Tags.Contains(t))).ToArray();
                        }
                    }
                });
                return(posts);
            })
            .ObserveOn(SynchronizationContext.Current)
            .Subscribe(posts =>
            {
                posts.ForEach(p => Items.Add(p));
                IsProgressVisible = false;
            });
        }
コード例 #9
0
 public TagItemsSearchViewModel()
     : base("FeedContentView", PinboardService.GetInstance().GetAllTags, PinboardService.GetInstance().GetTagItems)
 {
 }
コード例 #10
0
ファイル: UserViewModel.cs プロジェクト: mono0926/Pinboard
 public UserViewModel(string account)
     : base("FeedContentView", PinboardService.GetInstance().GetAllAccounts, PinboardService.GetInstance().GetUserItems, account)
 {
 }
コード例 #11
0
ファイル: App.xaml.cs プロジェクト: mono0926/Pinboard
 // Code to execute when the application is launching (eg, from Start)
 // This code will not execute when the application is reactivated
 private void Application_Launching(object sender, LaunchingEventArgs e)
 {
     PinboardService.GetInstance().CreateLocalDatabaseIfNotExist();
 }