Example #1
0
        public void StartWallWatch(long ownerId, DateTime?lastDateToLoad = null, long lastPostToLoad = -1)
        {
            WallWatcher w = null;

            if (!WallWatchers.ContainsKey(ownerId))
            {
                w = new WallWatcher(API, ownerId);

                w.NewPosts         += Wall_NewPosts;
                w.FixedPostChanged += Wall_FixedPostChanged;

                WallWatchers.Add(ownerId, w);
            }
            else
            {
                w = (WallWatcher)WallWatchers[ownerId];
            }

            // TODO: Внести эти махинации внутрь WallWatcher чтобы их можно было приостановить в случае Stop и продолжить при Start
            if (lastDateToLoad != null || lastPostToLoad >= 0)
            {
                w.LoadWallPosts(lastDateToLoad, lastPostToLoad);
            }
            w.Start(true);
        }
        public void StartWallWatch(CancellationToken cancellationToken, long ownerId, DateTime? lastDateToLoad = null, long lastPostToLoad = -1)
        {
            WallWatcher w = null;
            if (!WallWatchers.ContainsKey(ownerId))
            {
                w = new WallWatcher(API, ownerId);

                w.NewPosts += Wall_NewPosts;
                w.FixedPostChanged += Wall_FixedPostChanged;

                WallWatchers.Add(ownerId, w);
            }
            else
                w = (WallWatcher)WallWatchers[ownerId];

            WallLoadParametrs loadParams = new WallLoadParametrs();
            loadParams.LastDateToLoad = lastDateToLoad;
            loadParams.LastPostToLoad = lastPostToLoad;
            // TODO: Внести эти махинации внутрь WallWatcher чтобы их можно было приостановить в случае Stop и продолжить при Start
            if (lastDateToLoad != null || lastPostToLoad >= 0)
                w.LoadWallPosts(cancellationToken, loadParams);
            w.Start(true);
        }