Esempio n. 1
0
        private string TimeStamp(PopstationEventEnum @event)
        {
            var currentTime = DateTime.Now;

            switch (@event)
            {
            case PopstationEventEnum.ConvertProgress:
            case PopstationEventEnum.ExtractProgress:
            case PopstationEventEnum.WriteProgress:
            case PopstationEventEnum.DecompressProgress:
                break;

            default:
                return($"[{currentTime.Hour:00}:{currentTime.Minute:00}:{currentTime.Second:00}]: ");
            }
            return(string.Empty);
        }
Esempio n. 2
0
        private int GetLogLevel(PopstationEventEnum @event)
        {
            switch (@event)
            {
            case PopstationEventEnum.ProcessingStart:
            case PopstationEventEnum.ProcessingComplete:
                return(-1);

            case PopstationEventEnum.Error:
                return(-1);

            case PopstationEventEnum.Warning:
                return(1);

            case PopstationEventEnum.Info:
                return(3);


            case PopstationEventEnum.FileName:
                return(0);

            case PopstationEventEnum.GetIsoSize:
            case PopstationEventEnum.ConvertSize:
            case PopstationEventEnum.ExtractSize:
            case PopstationEventEnum.WriteSize:
                return(-1);

            case PopstationEventEnum.ConvertStart:
            case PopstationEventEnum.WriteStart:
            case PopstationEventEnum.ExtractStart:
            case PopstationEventEnum.DecompressStart:

            case PopstationEventEnum.ConvertProgress:
            case PopstationEventEnum.ExtractProgress:
            case PopstationEventEnum.WriteProgress:
            case PopstationEventEnum.DecompressProgress:

            case PopstationEventEnum.ConvertComplete:
            case PopstationEventEnum.ExtractComplete:
            case PopstationEventEnum.WriteComplete:
            case PopstationEventEnum.DecompressComplete:
                return(2);
            }
            return(-1);
        }
Esempio n. 3
0
        public void Notify(PopstationEventEnum @event, object value)
        {
            switch (@event)
            {
            case PopstationEventEnum.ProcessingStart:
                _startDateTime = DateTime.Now;
                WriteLine(@event, $"Processing started: {_startDateTime.Hour:00}:{_startDateTime.Minute:00}:{_startDateTime.Second:00}");
                break;

            case PopstationEventEnum.ProcessingComplete:
                var elapsedSpan = DateTime.Now - _startDateTime;
                WriteLine(@event, $"Processing completed in {elapsedSpan.TotalHours:00}h {elapsedSpan.Minutes:00}m {elapsedSpan.Seconds:00}s");
                break;

            case PopstationEventEnum.Error:
                WriteLine(@event, $"ERROR: {value}");
                break;

            case PopstationEventEnum.Info:
                WriteLine(@event, $"INFO: {value}");
                break;

            case PopstationEventEnum.Warning:
                WriteLine(@event, $"WARNING: {value}");
                break;

            case PopstationEventEnum.ConvertStart:
                WriteLine(@event, $"Converting Disc {value}");
                break;

            case PopstationEventEnum.WriteStart:
                WriteLine(@event, $"Writing Disc {value}");
                break;

            case PopstationEventEnum.ExtractStart:
                WriteLine(@event, $"Extracting Disc {value}");
                break;

            case PopstationEventEnum.DecompressStart:
                WriteLine(@event, $"Decompressing file {value}");
                break;
            }
        }
Esempio n. 4
0
 private void WriteLine(PopstationEventEnum @event, string text)
 {
     File.AppendAllText(_path, TimeStamp(@event) + text + "\r\n");
 }
Esempio n. 5
0
        public void Notify(PopstationEventEnum @event, object value)
        {
            switch (@event)
            {
            case PopstationEventEnum.ProcessingStart:
                break;

            case PopstationEventEnum.ProcessingComplete:
                Entry.MaxProgress = 100;
                Entry.Progress    = 0;
                break;

            case PopstationEventEnum.Cancelled:
                _cancelled = true;
                break;

            case PopstationEventEnum.Error:
                Entry.Status        = "Error";
                Entry.MaxProgress   = 100;
                Entry.Progress      = 100;
                Entry.HasError      = true;
                Entry.ErrorMessage += (string)value + "\r\n";

                break;

            case PopstationEventEnum.FileName:
            case PopstationEventEnum.Info:
                break;

            case PopstationEventEnum.Warning:
                break;

            case PopstationEventEnum.GetIsoSize:
                _lastvalue        = 0;
                Entry.MaxProgress = (uint)value;
                Entry.Progress    = 0;
                break;

            case PopstationEventEnum.ConvertSize:
            case PopstationEventEnum.ExtractSize:
            case PopstationEventEnum.WriteSize:
                _lastvalue        = 0;
                Entry.MaxProgress = (uint)value;
                Entry.Progress    = 0;
                break;

            case PopstationEventEnum.ConvertStart:
                _action = "Converting";
                break;

            case PopstationEventEnum.DiscStart:
                _action = $"Writing Disc {value}";

                break;

            case PopstationEventEnum.ExtractStart:
                _action = "Extracting";
                break;

            case PopstationEventEnum.DecompressStart:
                _action = "Decompressing";

                break;

            case PopstationEventEnum.ExtractComplete:
            case PopstationEventEnum.DiscComplete:
            case PopstationEventEnum.DecompressComplete:
                break;

            case PopstationEventEnum.ConvertComplete:
                if (_cancelled)
                {
                    Entry.Status = "Cancelled";
                }
                else
                {
                    Entry.Status = "Complete";
                }
                break;


            case PopstationEventEnum.ConvertProgress:
            case PopstationEventEnum.ExtractProgress:
            case PopstationEventEnum.WriteProgress:
                _dispatcher.Invoke(() =>
                {
                    var percent = (uint)value / (float)Entry.MaxProgress * 100f;
                    if (percent - _lastvalue >= 0.25)
                    {
                        Entry.Status   = $"{_action} ({percent:F0}%)";
                        Entry.Progress = (uint)value;
                        _lastvalue     = percent;
                    }
                });

                break;

            case PopstationEventEnum.DecompressProgress:
                break;
            }
        }
Esempio n. 6
0
        public void Notify(PopstationEventEnum @event, object value)
        {
            if (GetLogLevel(@event) > _logLevel)
            {
                return;
            }

            switch (@event)
            {
            case PopstationEventEnum.ProcessingStart:
                _startDateTime = DateTime.Now;
                WriteLine(@event, $"Processing started: {_startDateTime.Hour:00}:{_startDateTime.Minute:00}:{_startDateTime.Second:00}");
                break;

            case PopstationEventEnum.ProcessingComplete:
                var elapsedSpan = DateTime.Now - _startDateTime;
                WriteLine(@event, $"Processing completed: {elapsedSpan.TotalHours:00}h {elapsedSpan.Minutes:00}m {elapsedSpan.Seconds:00}s");
                break;

            case PopstationEventEnum.Error:
                _charsToDelete        = 0;
                Console.CursorVisible = true;
                WriteLine(@event, $"\r\n{value}");
                break;

            case PopstationEventEnum.FileName:
            case PopstationEventEnum.Info:
                WriteLine(@event, $"{value}");
                break;

            case PopstationEventEnum.Warning:
                var lastColor = Console.ForegroundColor;
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                WriteLine(@event, $"WARNING: {value}");
                Console.ForegroundColor = lastColor;
                break;

            case PopstationEventEnum.GetIsoSize:
                _total = Convert.ToInt64(value);
                break;

            case PopstationEventEnum.ConvertSize:
            case PopstationEventEnum.ExtractSize:
            case PopstationEventEnum.WriteSize:
                _total = Convert.ToInt64(value);
                break;

            case PopstationEventEnum.ConvertStart:
                Write(@event, $"Converting Disc {value} - ");
                _cursorYPos           = Console.CursorTop;
                Console.CursorVisible = false;
                break;

            case PopstationEventEnum.WriteStart:
                Write(@event, $"Writing Disc {value} - ");
                _cursorYPos           = Console.CursorTop;
                Console.CursorVisible = false;
                break;

            case PopstationEventEnum.ExtractStart:
                Write(@event, $"Extracting Disc {value} - ");
                _cursorYPos           = Console.CursorTop;
                Console.CursorVisible = false;
                break;

            case PopstationEventEnum.DecompressStart:
                Write(@event, $"Decompressing file {value} - ");
                _cursorYPos           = Console.CursorTop;
                Console.CursorVisible = false;
                break;

            case PopstationEventEnum.ConvertComplete:
            case PopstationEventEnum.ExtractComplete:
            case PopstationEventEnum.WriteComplete:
            case PopstationEventEnum.DecompressComplete:
                _charsToDelete        = 0;
                Console.CursorVisible = true;
                Console.WriteLine();
                break;

            case PopstationEventEnum.ConvertProgress:
            case PopstationEventEnum.ExtractProgress:
            case PopstationEventEnum.WriteProgress:
                //Console.SetCursorPosition(0, _cursorYPos);
                if (DateTime.Now.Ticks - _lastTicks > 100000)
                {
                    Overwrite($"{Math.Round(Convert.ToInt32(value) / (double)_total * 100, 0) }%");
                    _lastTicks = DateTime.Now.Ticks;
                }
                break;

            case PopstationEventEnum.DecompressProgress:
                //Console.SetCursorPosition(0, _cursorYPos);
                if (DateTime.Now.Ticks - _lastTicks > 100000)
                {
                    Overwrite($"{value}%");
                    _lastTicks = DateTime.Now.Ticks;
                }
                break;
            }
        }
Esempio n. 7
0
 private void Write(PopstationEventEnum @event, string text)
 {
     Console.Write(TimeStamp(@event) + text);
 }