Example #1
0
        /// <summary>
        /// Does cleanup work when worker is complete.
        /// </summary>
        /// <param name="sender">
        /// RunWorkerCompleted event.
        /// </param>
        /// <param name="e">RunWorkerCompleted event arguments.</param>
        /// <history>
        /// Sean Patterson    11/1/2010   [Created]
        /// </history>
        private void allPostsWorker_RunWorkerCompleted
            (object sender, RunWorkerCompletedEventArgs e)
        {
            WorkerArgs    myArgs       = (WorkerArgs)e.Result;
            StringBuilder ProgressText = new StringBuilder();

            ProgressText.AppendLine(txtStatus.Text);

            if (e.Cancelled)
            {
                UpdateStatusText("Process cancelled.");
                UpdateStatusBar("Process cancelled.");
            }
            else if (e.Error != null)
            {
                UpdateStatusText("Error with process. Process halted.");
                UpdateStatusBar("Process halted.");
            }
            else
            {
                // Use an observable collection to properly bind/update the
                // ListView
                PostCollection.Clear();

                if ((App.sourceBlog.blogPosts.Count) > 0 || (App.sourceBlog.blogData != null))
                {
                    if (App.sourceBlog.blogPosts.Count > 0)
                    {
                        foreach (Post postItem in App.sourceBlog.blogPosts)
                        {
                            PostData myPost = new PostData(postItem);
                            PostCollection.Add(myPost);
                        }

                        btnMigrate.IsEnabled        = true;
                        btnSelectAllPosts.IsEnabled = true;
                    }
                    else
                    {
                        for (int i = 0; i <= App.sourceBlog.blogData.posts.Length - 1; i++)
                        {
                            PostData myPost = new PostData(App.sourceBlog.blogData.posts[i]);
                            PostCollection.Add(myPost);
                        }

                        btnMigrate.IsEnabled        = true;
                        btnSelectAllPosts.IsEnabled = true;
                    }
                }

                lsvAllPosts.ItemsSource = PostCollection;
                lblEntriesCount.Content = "[" + PostCollection.Count + " Total]";

                UpdateStatusText("Process complete.");
                UpdateStatusBar("Process complete.");
            }
        }