private void OnDataSourceReadEvent(IBundleReader sender, ItemReadEvent e)
 {
     if (e.Success)
     {
         actualDataSources.Add(e.FileName);
     }
 }
 private void OnReportReadEvent(IBundleReader sender, ItemReadEvent e)
 {
     if (e.Success)
     {
         actualReports.Add(e.FileName);
     }
 }
 // Event handlers for ZipBundleReader's On*Read events
 private void OnFolderReadEvent(IBundleReader sender, ItemReadEvent e)
 {
     if (e.Success)
     {
         actualFolders.Add(e.FileName);
     }
 }
        /// <summary>
        /// Adds an item to the ListView for a successfully 'imported' entry.
        /// </summary>
        /// <param name="e">The ItemReadEvent object for the entry imported.</param>
        /// <param name="status">The ImportStatus object for the entry imported.</param>
        /// <param name="item">The ReportServerItem object that was imported.</param>
        /// <returns></returns>
        private ListViewItem AddListViewItem_Success(ItemReadEvent e, ImportStatus status, ReportServerItem item)
        {
            ListViewItem oItem = new ListViewItem(item.Name);

            oItem.Tag = item;
            oItem.SubItems.Add(item.Path);
            oItem.SubItems.Add("");

            oItem.Checked = true;

            return(oItem);
        }
        /// <summary>
        /// Adds an item to the ListView for an entry that was not successfully imported from disk.
        /// </summary>
        /// <param name="e">The ItemReadEvent object for the entry that failed to import from disk.</param>
        /// <param name="status">The ImportStatus object for the entry that failed to import from disk.</param>
        /// <returns></returns>
        private ListViewItem AddListViewItem_ImportFailed(ItemReadEvent e, ImportStatus status)
        {
            string name = this.mFileSystem.Path.GetFileNameWithoutExtension(e.FileName);

            ListViewItem oItem = new ListViewItem(name);

            oItem.Checked   = false;
            oItem.ForeColor = Color.Red;

            //oItem.Tag = e.FileName;
            oItem.SubItems.Add(e.Path);
            oItem.SubItems.Add(status.Error.Message);

            return(oItem);
        }
        /// <summary>
        /// Adds an item to the Listview for an entry that was not successfully extracted to disk.
        /// </summary>
        /// <param name="e">The ItemReadEvent object for the entry that failed to extract.</param>
        /// <returns></returns>
        private ListViewItem AddListViewItem_ExtractFailed(ItemReadEvent e)
        {
            string name   = this.mFileSystem.Path.GetFileNameWithoutExtension(e.FileName);
            string errors = string.Join("; ", e.Errors);

            ListViewItem oItem = new ListViewItem(name);

            oItem.Checked   = false;
            oItem.ForeColor = Color.Red;

            //oItem.Tag = e.FileName;
            oItem.SubItems.Add("");
            oItem.SubItems.Add(errors);

            return(oItem);
        }
        private void BundleReaderOnFolderRead(IBundleReader sender, ItemReadEvent itemReadEvent)
        {
            ListViewItem oItem = null;

            if (itemReadEvent.Success)
            {
                ImportStatus status = null;
                FolderItem   item   = this.mFolderItemImporter.ImportItem(itemReadEvent.FileName, out status);

                if (status.Success)
                {
                    oItem = this.AddListViewItem_Success(itemReadEvent, status, item);
                }
                else
                {
                    oItem = this.AddListViewItem_ImportFailed(itemReadEvent, status);
                }
            }
            else
            {
                oItem = this.AddListViewItem_ExtractFailed(itemReadEvent);
            }

            oItem.SubItems.Add(itemReadEvent.Path);
            oItem.SubItems.Add(itemReadEvent.FileName);

            oItem.Group = this.lstSrcReports.Groups["foldersGroup"];

            this.lstSrcReports.Invoke(new Action(() => this.lstSrcReports.Items.Add(oItem)));
            this.lstSrcReports.Invoke(new Action(() => oItem.EnsureVisible()));

            this.lblStatus.Text = string.Format("Refreshing item '{0}'...", itemReadEvent.FileName);

            this.mLogger.Debug("Refreshing item '{0}' in path '{1}'...", itemReadEvent.FileName, itemReadEvent.Path);

            this.mDebugForm.LogMessage(string.Format("Refreshing item '{0}' in path '{1}'...", itemReadEvent.FileName, itemReadEvent.Path));
        }
Beispiel #8
0
        private void BundleReaderOnReportRead(IBundleReader sender, ItemReadEvent itemReadEvent)
        {
            ListViewItem oItem = null;

            if (itemReadEvent.Success)
            {
                ImportStatus status = null;
                ReportItem item = this.mReportItemImporter.ImportItem(itemReadEvent.FileName, out status);

                if (status.Success)
                {
                    oItem = this.AddListViewItem_Success(itemReadEvent, status, item);
                }
                else
                {
                    oItem = this.AddListViewItem_ImportFailed(itemReadEvent, status);
                }
            }
            else
            {
                oItem = this.AddListViewItem_ExtractFailed(itemReadEvent);
            }

            oItem.SubItems.Add(itemReadEvent.Path);
            oItem.SubItems.Add(itemReadEvent.FileName);

            oItem.Group = this.lstSrcReports.Groups["reportsGroup"];

            this.lstSrcReports.Invoke(new Action(() => this.lstSrcReports.Items.Add(oItem)));
            this.lstSrcReports.Invoke(new Action(() => oItem.EnsureVisible()));

            this.lblStatus.Text = string.Format("Refreshing item '{0}'...", itemReadEvent.FileName);

            this.mLogger.Debug("Refreshing item '{0}' in path '{1}'...", itemReadEvent.FileName, itemReadEvent.Path);

            this.mDebugForm.LogMessage(string.Format("Refreshing item '{0}' in path '{1}'...", itemReadEvent.FileName, itemReadEvent.Path));
        }
Beispiel #9
0
        /// <summary>
        /// Adds an item to the ListView for a successfully 'imported' entry.
        /// </summary>
        /// <param name="e">The ItemReadEvent object for the entry imported.</param>
        /// <param name="status">The ImportStatus object for the entry imported.</param>
        /// <param name="item">The ReportServerItem object that was imported.</param>
        /// <returns></returns>
        private ListViewItem AddListViewItem_Success(ItemReadEvent e, ImportStatus status, ReportServerItem item)
        {
            ListViewItem oItem = new ListViewItem(item.Name);

            oItem.Tag = item;
            oItem.SubItems.Add(item.Path);
            oItem.SubItems.Add("");

            oItem.Checked = true;

            return oItem;
        }
Beispiel #10
0
        /// <summary>
        /// Adds an item to the ListView for an entry that was not successfully imported from disk.
        /// </summary>
        /// <param name="e">The ItemReadEvent object for the entry that failed to import from disk.</param>
        /// <param name="status">The ImportStatus object for the entry that failed to import from disk.</param>
        /// <returns></returns>
        private ListViewItem AddListViewItem_ImportFailed(ItemReadEvent e, ImportStatus status)
        {
            string name = this.mFileSystem.Path.GetFileNameWithoutExtension(e.FileName);

            ListViewItem oItem = new ListViewItem(name);

            oItem.Checked = false;
            oItem.ForeColor = Color.Red;

            //oItem.Tag = e.FileName;
            oItem.SubItems.Add(e.Path);
            oItem.SubItems.Add(status.Error.Message);

            return oItem;
        }
Beispiel #11
0
        /// <summary>
        /// Adds an item to the Listview for an entry that was not successfully extracted to disk.
        /// </summary>
        /// <param name="e">The ItemReadEvent object for the entry that failed to extract.</param>
        /// <returns></returns>
        private ListViewItem AddListViewItem_ExtractFailed(ItemReadEvent e)
        {
            string name = this.mFileSystem.Path.GetFileNameWithoutExtension(e.FileName);
            string errors = string.Join("; ", e.Errors);

            ListViewItem oItem = new ListViewItem(name);

            oItem.Checked = false;
            oItem.ForeColor = Color.Red;

            //oItem.Tag = e.FileName;
            oItem.SubItems.Add("");
            oItem.SubItems.Add(errors);

            return oItem;
        }
 private void OnReportReadEvent(IBundleReader sender, ItemReadEvent e)
 {
     if (e.Success)
         actualReports.Add(e.FileName);
 }
 // Event handlers for ZipBundleReader's On*Read events
 private void OnFolderReadEvent(IBundleReader sender, ItemReadEvent e)
 {
     if (e.Success)
         actualFolders.Add(e.FileName);
 }
 private void OnDataSourceReadEvent(IBundleReader sender, ItemReadEvent e)
 {
     if (e.Success)
         actualDataSources.Add(e.FileName);
 }
Beispiel #15
0
        public void Read()
        {
            // Go through each folder entry
            this.mLogger.Debug("Read - Started reading folder entries...");
            foreach (BundleSummaryEntry folder in this.mSummary.Entries["Folders"])
            {
                string fileName = Path.Combine(this.mUnpackDirectory, folder.Path);

                this.mLogger.Debug("Read - Reading folder... Filename = {0}; Path = {1}; Checksum = {2}",
                    fileName,
                    folder.Path,
                    folder.CheckSum);

                bool success = true;
                List<string> errors = new List<string>();
                string checkSum = "";

                // Check if the folder exists on disk
                if (!this.mFileSystem.Directory.Exists(fileName))
                {
                    success = false;
                    errors.Add(string.Format("Directory does not exist '{0}'.", fileName));
                }
                else
                {
                    checkSum = this.mCheckSumGenerator.CreateCheckSum(fileName);
                }

                // Check if the checksums match (folder.CheckSum should be "")
                if (!folder.CheckSum.Equals(checkSum) || folder.CheckSum != "")
                {
                    success = false;
                    errors.Add(string.Format("Source checksum of '{0}' does not match checksum of extracted entry '{1}'.",
                        folder.CheckSum,
                        checkSum));
                }

                if (errors.Any())
                    this.mLogger.Error("Read - Errors reading folder... {0}",
                        string.Join("; ", errors.ToArray()));

                ItemReadEvent readEvent = new ItemReadEvent(
                    fileName,
                    folder.Path,
                    true,
                    folder.CheckSum,
                    success,
                    errors.ToArray());

                if (this.OnFolderRead != null)
                {
                    this.mLogger.Debug("Read - Triggering OnFolderRead event for entry '{0}'...", fileName);

                    this.OnFolderRead(this, readEvent);
                }
            }
            this.mLogger.Debug("Read - Finished reading folder entries.");

            // Go through each data source entry
            this.mLogger.Debug("Read - Started reading data source entries...");
            foreach (BundleSummaryEntry dataSource in this.mSummary.Entries["DataSources"])
            {
                string fileName = Path.Combine(Path.Combine(this.mUnpackDirectory, dataSource.Path), dataSource.FileName);

                this.mLogger.Debug("Read - Reading data source... Filename = {0}; Path = {1}; Checksum = {2}",
                    dataSource.FileName,
                    dataSource.Path,
                    dataSource.CheckSum);

                bool success = true;
                List<string> errors = new List<string>();
                string checkSum = "";

                // Check if the file exists on disk
                if (!this.mFileSystem.File.Exists(fileName))
                {
                    success = false;
                    errors.Add(string.Format("File does not exist '{0}'.", fileName));
                }
                else
                {
                    checkSum = this.mCheckSumGenerator.CreateCheckSum(fileName);
                }

                // Check if the checksums match
                if (!dataSource.CheckSum.Equals(checkSum))
                {
                    success = false;
                    errors.Add(string.Format("Source checksum of '{0}' does not match checksum of extracted entry '{1}'.",
                        dataSource.CheckSum,
                        checkSum));
                }

                if (errors.Any())
                    this.mLogger.Error("Read - Errors reading data source... {0}",
                        string.Join("; ", errors.ToArray()));

                ItemReadEvent readEvent = new ItemReadEvent(
                    fileName,
                    dataSource.Path,
                    false,
                    dataSource.CheckSum,
                    success,
                    errors.ToArray());

                if (this.OnDataSourceRead != null)
                {
                    this.mLogger.Debug("Read - Triggering OnDataSourceRead event for entry '{0}'...", fileName);

                    this.OnDataSourceRead(this, readEvent);
                }
            }
            this.mLogger.Debug("Read - Finished reading folder entries.");

            // Go through each report entry
            foreach (BundleSummaryEntry report in this.mSummary.Entries["Reports"])
            {
                string fileName = Path.Combine(Path.Combine(this.mUnpackDirectory, report.Path), report.FileName);

                this.mLogger.Debug("Read - Reading report... Filename = {0}; Path = {1}; Checksum = {2}",
                    fileName,
                    report.Path,
                    report.CheckSum);

                bool success = true;
                List<string> errors = new List<string>();
                string checkSum = "";

                // Check if the file exists on disk
                if (!this.mFileSystem.File.Exists(fileName))
                {
                    success = false;
                    errors.Add(string.Format("File does not exist '{0}'.", fileName));
                }
                else
                {
                    checkSum = this.mCheckSumGenerator.CreateCheckSum(fileName);
                }

                // Check if the checksums match
                if (!report.CheckSum.Equals(checkSum))
                {
                    success = false;
                    errors.Add(string.Format("Source checksum of '{0}' does not match checksum of extracted entry '{1}'.",
                        report.CheckSum,
                        checkSum));
                }

                if (errors.Any())
                    this.mLogger.Error("Read - Errors reading report... {0}",
                        string.Join("; ", errors.ToArray()));

                ItemReadEvent readEvent = new ItemReadEvent(
                    fileName,
                    report.Path,
                    false,
                    report.CheckSum,
                    success,
                    errors.ToArray());

                if (this.OnReportRead != null)
                {
                    this.mLogger.Debug("Read - Triggering OnReportRead event for entry '{0}'...", fileName);

                    this.OnReportRead(this, readEvent);
                }
            }
        }
        public void Read()
        {
            // Go through each folder entry
            this.mLogger.Debug("Read - Started reading folder entries...");
            foreach (BundleSummaryEntry folder in this.mSummary.Entries["Folders"])
            {
                string fileName = Path.Combine(this.mUnpackDirectory, folder.Path);

                this.mLogger.Debug("Read - Reading folder... Filename = {0}; Path = {1}; Checksum = {2}",
                                   fileName,
                                   folder.Path,
                                   folder.CheckSum);

                bool          success  = true;
                List <string> errors   = new List <string>();
                string        checkSum = "";

                // Check if the folder exists on disk
                if (!this.mFileSystem.Directory.Exists(fileName))
                {
                    success = false;
                    errors.Add(string.Format("Directory does not exist '{0}'.", fileName));
                }
                else
                {
                    checkSum = this.mCheckSumGenerator.CreateCheckSum(fileName);
                }

                // Check if the checksums match (folder.CheckSum should be "")
                if (!folder.CheckSum.Equals(checkSum) || folder.CheckSum != "")
                {
                    success = false;
                    errors.Add(string.Format("Source checksum of '{0}' does not match checksum of extracted entry '{1}'.",
                                             folder.CheckSum,
                                             checkSum));
                }

                if (errors.Any())
                {
                    this.mLogger.Error("Read - Errors reading folder... {0}",
                                       string.Join("; ", errors.ToArray()));
                }

                ItemReadEvent readEvent = new ItemReadEvent(
                    fileName,
                    folder.Path,
                    true,
                    folder.CheckSum,
                    success,
                    errors.ToArray());

                if (this.OnFolderRead != null)
                {
                    this.mLogger.Debug("Read - Triggering OnFolderRead event for entry '{0}'...", fileName);

                    this.OnFolderRead(this, readEvent);
                }
            }
            this.mLogger.Debug("Read - Finished reading folder entries.");

            // Go through each data source entry
            this.mLogger.Debug("Read - Started reading data source entries...");
            foreach (BundleSummaryEntry dataSource in this.mSummary.Entries["DataSources"])
            {
                string fileName = Path.Combine(Path.Combine(this.mUnpackDirectory, dataSource.Path), dataSource.FileName);

                this.mLogger.Debug("Read - Reading data source... Filename = {0}; Path = {1}; Checksum = {2}",
                                   dataSource.FileName,
                                   dataSource.Path,
                                   dataSource.CheckSum);

                bool          success  = true;
                List <string> errors   = new List <string>();
                string        checkSum = "";

                // Check if the file exists on disk
                if (!this.mFileSystem.File.Exists(fileName))
                {
                    success = false;
                    errors.Add(string.Format("File does not exist '{0}'.", fileName));
                }
                else
                {
                    checkSum = this.mCheckSumGenerator.CreateCheckSum(fileName);
                }

                // Check if the checksums match
                if (!dataSource.CheckSum.Equals(checkSum))
                {
                    success = false;
                    errors.Add(string.Format("Source checksum of '{0}' does not match checksum of extracted entry '{1}'.",
                                             dataSource.CheckSum,
                                             checkSum));
                }

                if (errors.Any())
                {
                    this.mLogger.Error("Read - Errors reading data source... {0}",
                                       string.Join("; ", errors.ToArray()));
                }

                ItemReadEvent readEvent = new ItemReadEvent(
                    fileName,
                    dataSource.Path,
                    false,
                    dataSource.CheckSum,
                    success,
                    errors.ToArray());

                if (this.OnDataSourceRead != null)
                {
                    this.mLogger.Debug("Read - Triggering OnDataSourceRead event for entry '{0}'...", fileName);

                    this.OnDataSourceRead(this, readEvent);
                }
            }
            this.mLogger.Debug("Read - Finished reading folder entries.");

            // Go through each report entry
            foreach (BundleSummaryEntry report in this.mSummary.Entries["Reports"])
            {
                string fileName = Path.Combine(Path.Combine(this.mUnpackDirectory, report.Path), report.FileName);

                this.mLogger.Debug("Read - Reading report... Filename = {0}; Path = {1}; Checksum = {2}",
                                   fileName,
                                   report.Path,
                                   report.CheckSum);

                bool          success  = true;
                List <string> errors   = new List <string>();
                string        checkSum = "";

                // Check if the file exists on disk
                if (!this.mFileSystem.File.Exists(fileName))
                {
                    success = false;
                    errors.Add(string.Format("File does not exist '{0}'.", fileName));
                }
                else
                {
                    checkSum = this.mCheckSumGenerator.CreateCheckSum(fileName);
                }

                // Check if the checksums match
                if (!report.CheckSum.Equals(checkSum))
                {
                    success = false;
                    errors.Add(string.Format("Source checksum of '{0}' does not match checksum of extracted entry '{1}'.",
                                             report.CheckSum,
                                             checkSum));
                }

                if (errors.Any())
                {
                    this.mLogger.Error("Read - Errors reading report... {0}",
                                       string.Join("; ", errors.ToArray()));
                }

                ItemReadEvent readEvent = new ItemReadEvent(
                    fileName,
                    report.Path,
                    false,
                    report.CheckSum,
                    success,
                    errors.ToArray());

                if (this.OnReportRead != null)
                {
                    this.mLogger.Debug("Read - Triggering OnReportRead event for entry '{0}'...", fileName);

                    this.OnReportRead(this, readEvent);
                }
            }
        }