Ejemplo n.º 1
0
        /// <summary>
        /// Send Update Event
        /// </summary>
        /// <param name="currentFileID"></param>
        /// <param name="currentFolderID"></param>
        /// <param name="CurrentFolderName"></param>
        /// <param name="CurrentFileName"></param>
        private void SendUpdateEvent(long currentFileID = 0, long currentFolderID = 0, string CurrentFolderName = "", string CurrentFileName = "")
        {
            ScanFolderUpdateEventArgs args = new ScanFolderUpdateEventArgs();

            args.TotalFolders      = _totalFolders;
            args.TotalFiles        = _totalFiles;
            args.CurrentFileID     = currentFileID;
            args.CurrentFolderID   = currentFolderID;
            args.CurrentFileName   = CurrentFileName;
            args.CurrentFolderName = CurrentFolderName;

            // Calculate Estimated Time
            if (currentFileID > 0)
            {
                long ElapsedTicks        = _totalTime.ElapsedTicks;
                long ElapsedTimePerFile  = ElapsedTicks / currentFileID;
                long TotalTimeCalculated = ElapsedTimePerFile * _totalFiles;
                long EstimatedTimeToPass = TotalTimeCalculated - ElapsedTicks;

                args.EstimatedTime = TimeSpan.FromTicks(EstimatedTimeToPass);
            }
            else
            {
                // Impossible to calculate the estimated time
                args.EstimatedTime = new TimeSpan();
            }

            OnNewScanFolderUpdate(args);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Thrown Event
 /// </summary>
 /// <param name="e"></param>
 protected virtual void OnNewScanFolderUpdate(ScanFolderUpdateEventArgs e)
 {
     NewScanFolderUpdate?.Invoke(this, e);
 }