Esempio n. 1
0
        private void OnReadyToBind(ThreadViewPageState state)
        {
            var eventHandler = ReadyToBind;

            if (eventHandler != null)
            {
                eventHandler(this, new Common.ThreadReadyToBindEventArgs(state));
            }
        }
Esempio n. 2
0
        protected override void OnSuccess(object arg)
        {
            ThreadViewPageState state = arg as ThreadViewPageState;

            if (state != null)
            {
                // we know for sure it was successful
                IsReady = true;
                OnReadyToBind(state);
            }
        }
Esempio n. 3
0
        public void UpdateModel(ThreadViewPageState state)
        {
            var thread = Data.MainDataSource.Instance.FindThreadByID(state.ThreadID);

            if (thread == null)
            {
                ThreadMetadata metadata = new ThreadMetadata();
                metadata.ThreadID  = state.ThreadID;
                metadata.Title     = state.Title;
                metadata.PageCount = state.PageCount;
                thread             = new Data.ThreadDataSource(metadata);
            }

            this.Thread = thread;
            int index = state.PageNumber - 1;
            var page  = this.Pages[index];

            page.Html  = state.Html;
            page.Posts = state.Posts;

            this.IsReady = true;
        }
Esempio n. 4
0
        protected override object DoWork(int parameter)
        {
            ThreadViewPageState state = null;
            ThreadPageMetadata  page  = LoadPageFromWeb(parameter);

            if (page == null)
            {
                throw new NullReferenceException("Thread page must not be null.");
            }

            else
            {
                var pageData = new Data.ThreadPageDataObject(page);

                // mine data about the thread from the page
                Thread.Title = page.ThreadTitle;

                if (page.LastPage > 0)
                {
                    Thread.PageCount = page.LastPage;
                }

                // set the selected index to that of the loaded page
                SelectedIndex = page.PageNumber - 1;

                // create page state and save immeadiately so we don't have to load this again
                state = new ThreadViewPageState(Thread, pageData);

                try { ThreadViewPageState.Save(state); }
                catch (Exception) { }

                // setup page proxy and insert page at proper index
                SetPages(Thread.PageCount);
                Pages[SelectedIndex] = pageData;
            }

            return(state);
        }
Esempio n. 5
0
 public ThreadReadyToBindEventArgs(ThreadViewPageState state)
 {
     State = state;
 }
Esempio n. 6
0
 public ThreadReadyToBindEventArgs(ThreadViewPageState state)
 {
     State = state;
 }