/// <summary>
        /// Move reports and folders
        /// </summary>
        private void MoveToolStripMenuItemClick(object sender, EventArgs e)
        {
            using (var ssrsExplorer = new FormSSRSSItemSelector(ViewItems.Folders))
            {
                if (ssrsExplorer.ShowDialog() == DialogResult.OK && ssrsExplorer.SelectedItemPath != null)
                {
                    Cursor = Cursors.WaitCursor;

                    foreach (ListViewItem item in lvItems.SelectedItems)
                    {
                        try
                        {
                            controller.MoveItem(item.ToolTipText,
                                                ssrsExplorer.SelectedItemPath.Trim('/') + "/" + item.Text,
                                                (ReportItemTypes)item.Tag);
                            toolStripStatusLabel.Text = String.Format("Moved item '{0}' to {1}", item.Text,
                                                                      ssrsExplorer.SelectedItemPath);
                            Application.DoEvents();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(String.Format("An error has occured: {0}", ex.Message));
                            LogHandler.WriteLogEntry(ex);
                        }
                    }

                    try
                    {
                        controller.PopulateTreeView(SelectedServer.Alias);
                        controller.PopulateItems(tvReportServer.SelectedNode.ToolTipText);
                    }
                    catch (Exception ex)
                    {
                        LogHandler.WriteLogEntry(ex);
                        MessageBox.Show(String.Format("An error has occured: {0}", ex.Message));
                    }

                    Cursor = Cursors.Default;
                }
            }
        }
 /// <summary>
 /// Set the datasource of a report
 /// Check if any of a report datasources matches the selected datasource. If so update that datasource, otherwise
 /// provide information about the report datasources
 /// </summary>
 private void SetDatasourceToolStripMenuItemClick(object sender, EventArgs e)
 {
     using (var ssrsExplorer = new FormSSRSSItemSelector(ViewItems.Datasources))
     {
         if (ssrsExplorer.ShowDialog() == DialogResult.OK && ssrsExplorer.SelectedItemPath != null)
         {
             foreach (ListViewItem item in lvItems.SelectedItems)
             {
                 try
                 {
                     controller.SetDatasource(item.ToolTipText, ssrsExplorer.SelectedItemPath,
                                              (ReportItemTypes)item.Tag);
                 }
                 catch (Exception ex)
                 {
                     LogHandler.WriteLogEntry(ex);
                     MessageBox.Show(String.Format("An error has occured: {0}", ex.Message));
                 }
             }
         }
     }
 }