Пример #1
0
        protected override void OnSuccess(object arg)
        {
            // notify ui bindings
            ThreadPageDataSource page = arg as ThreadPageDataSource;

            CurrentPage = page.PageNumber;

            OnPropertyChanged("CurrentThread");
            OnPropertyChanged("CurrentThreadPage");
            OnPropertyChanged("Rating");

            // empty loading text
            Status = string.Empty;

            if (SynchronizeSlideView)
            {
                // ignore the selected item change when we bind new items to view
                TotalPages   = page.Data.LastPage;
                CurrentState = ViewStates.New;
                OnPropertyChanged("Items");
                SelectedItem         = Items[CurrentPage - 1];
                SynchronizeSlideView = false;
            }

            // we are ready to show the view
            CurrentState = ViewStates.Ready;
        }
Пример #2
0
        protected override object DoWork(LoadPageCommandArgs value)
        {
            // load the page
            ThreadPageMetadata page = value.LoadPage(value.State);

            if (page == null)
            {
                throw new Exception("There was an error loading the requested page.");
            }

            else
            {
                this._pageCache.AddPage(page);
            }

            UpdateStatus("Rendering...");

            ThreadPageDataObject dataObject = new ThreadPageDataObject(page);

            this._currentThread          = MetadataExtensions.FromPageMetadata(page);
            this._ratingCommand.ThreadId = page.ThreadID;
            this._rating            = 0;
            this._currentThreadPage = dataObject;

            if (TotalPages != page.LastPage)
            {
                this._items          = new ThreadPageSlideViewList(page.LastPage);
                SynchronizeSlideView = true;
            }

            return(dataObject);
        }
Пример #3
0
 private void OnThreadPageUpdating(ThreadPageDataSource source)
 {
     Deployment.Current.Dispatcher.BeginInvoke(() =>
     {
         if (ThreadPageUpdating != null)
         {
             ThreadPageUpdating(source, EventArgs.Empty);
         }
     });
 }
Пример #4
0
 private void OnThreadPageUpdated(ThreadPageDataSource source)
 {
     Deployment.Current.Dispatcher.BeginInvoke(() =>
     {
         if (ThreadPageUpdated != null)
         {
             ThreadPageUpdated(source, EventArgs.Empty);
             NotifyAllPropertiesChanged();
         }
     });
 }
Пример #5
0
        public virtual ThreadPageDataSource Refresh()
        {
            ThreadPageDataSource result   = null;
            ThreadPageMetadata   metadata = Data != null ? Data : new ThreadPageMetadata()
            {
                ThreadID = ThreadID, PageNumber = PageNumber
            };

            var page = metadata.Refresh();

            if (page != null)
            {
                result = new ThreadPageDataObject(page);
            }

            return(result);
        }
Пример #6
0
        private void LoadPage(object source)
        {
            ThreadPageDataSource page = null;

            try
            {
                page = (source as ThreadPageDataSource).Refresh();

                if (page != null)
                {
                    this._page = page;
                }

                OnThreadPageUpdated(this);
            }
            catch (Exception ex)
            {
                AwfulDebugger.AddLog(this, AwfulDebugger.Level.Critical, ex);
                OnThreadPageUpdated(null);
            }
        }
Пример #7
0
 public ThreadPageDataProxy(ThreadPageDataObject obj)
 {
     _page = obj;
 }
Пример #8
0
 public ThreadPageDataProxy(ThreadPageMetadata metadata)
 {
     _page = new ThreadPageDataObject(metadata);
 }