Example #1
0
        /// <summary>
        ///     Greet main logic
        /// </summary>
        /// <param name="firstAliveObject">Employee instance</param>
        /// <param name="secondAliveObject">Employee instance</param>
        private void GreetLogic(IEmployee firstAliveObject, IEmployee secondAliveObject)
        {
            string talkResult = string.Empty;

            if (firstAliveObject is IWorker)
            {
                talkResult = (firstAliveObject as IWorker).Talk((secondAliveObject));
            }
            else if (firstAliveObject is IBigBoss)
            {
                talkResult = (firstAliveObject as IBigBoss).Talk((secondAliveObject));
            }
            else if (firstAliveObject is IBoss)
            {
                talkResult = (firstAliveObject as IBoss).Talk((secondAliveObject));
            }

            if (msgWriter != null)
            {
                msgWriter.PrintMessage(talkResult);
            }
        }
Example #2
0
        public void Handle(BuildFinishedEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(e));
            }

            _statistics.Publish();

            if (!_context.Parameters.ShowOnlyErrors && !_context.Parameters.ShowOnlyWarnings && _context.DeferredMessages.Count > 0 && _context.IsVerbosityAtLeast(LoggerVerbosity.Normal))
            {
                _messageWriter.WriteLinePrettyFromResource("DeferredMessages");
                foreach (var message in _context.DeferredMessages.Values.SelectMany(i => i))
                {
                    _messageWriter.PrintMessage(message, false);
                }
            }

            if (_context.Parameters.ShowPerfSummary)
            {
                ShowPerfSummary();
            }

            if (_context.IsVerbosityAtLeast(LoggerVerbosity.Normal) || (_context.Parameters.ShowSummary ?? false))
            {
                if (e.Succeeded)
                {
                    _logWriter.SetColor(Color.Success);
                }
                else
                {
                    if (_context.ErrorCount > 0)
                    {
                        _logWriter.SetColor(Color.Error);
                    }
                    else
                    {
                        _logWriter.SetColor(Color.Warning);
                    }
                }

                _messageWriter.WriteNewLine();
                _messageWriter.WriteLinePretty(e.Message);
                _logWriter.ResetColor();
            }

            if (_context.Parameters.ShowSummary ?? false)
            {
                if (_context.IsVerbosityAtLeast(LoggerVerbosity.Normal))
                {
                    ShowNestedErrorWarningSummary();
                }
                else
                {
                    ShowFlatErrorWarningSummary();
                }

                if (_context.WarningCount > 0)
                {
                    _logWriter.SetColor(Color.Warning);
                }

                _messageWriter.WriteLinePrettyFromResource(2, "WarningCount", _context.WarningCount);

                _logWriter.ResetColor();
                if (_context.ErrorCount > 0)
                {
                    _logWriter.SetColor(Color.Error);
                }

                _messageWriter.WriteLinePrettyFromResource(2, "ErrorCount", _context.ErrorCount);
                _logWriter.ResetColor();
            }

            if (_context.IsVerbosityAtLeast(LoggerVerbosity.Normal) || (_context.Parameters.ShowSummary ?? false))
            {
                var str = _logFormatter.FormatTimeSpan(e.Timestamp - _context.BuildStarted);
                _messageWriter.WriteNewLine();
                _messageWriter.WriteLinePrettyFromResource("TimeElapsed", str);
            }

            _context.ResetConsoleLoggerState();
        }
Example #3
0
        public void Handle(BuildMessageEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(e));
            }
            if (_context.Parameters.ShowOnlyErrors || _context.Parameters.ShowOnlyWarnings)
            {
                return;
            }

            if (e == null)
            {
                throw new ArgumentNullException(nameof(e));
            }
            if (e.BuildEventContext == null)
            {
                throw new ArgumentException(nameof(e));
            }
            bool showMessages;
            var  lightenText = false;

            if (e is TaskCommandLineEventArgs)
            {
                if (_context.Parameters.ShowCommandLine.HasValue && !_context.Parameters.ShowCommandLine.Value || !_context.Parameters.ShowCommandLine.HasValue && !_context.IsVerbosityAtLeast(LoggerVerbosity.Normal))
                {
                    return;
                }

                showMessages = true;
            }
            else
            {
                switch (e.Importance)
                {
                case MessageImportance.High:
                    showMessages = _context.IsVerbosityAtLeast(LoggerVerbosity.Minimal);
                    break;

                case MessageImportance.Normal:
                    showMessages = _context.IsVerbosityAtLeast(LoggerVerbosity.Normal);
                    lightenText  = true;
                    break;

                case MessageImportance.Low:
                    showMessages = _context.IsVerbosityAtLeast(LoggerVerbosity.Detailed);
                    lightenText  = true;
                    break;

                default:
                    throw new InvalidOperationException("Impossible");
                }
            }

            if (!showMessages)
            {
                return;
            }

            if (_context.HasBuildStarted && e.BuildEventContext.ProjectContextId != -2 && _buildEventManager.GetProjectStartedEvent(e.BuildEventContext) == null && _context.IsVerbosityAtLeast(LoggerVerbosity.Normal))
            {
                if (!_context.DeferredMessages.TryGetValue(e.BuildEventContext, out var messageEventArgsList))
                {
                    messageEventArgsList = new List <BuildMessageEventArgs>();
                    _context.DeferredMessages.Add(e.BuildEventContext, messageEventArgsList);
                }

                messageEventArgsList.Add(e);
            }
            else
            {
                _deferredMessageWriter.DisplayDeferredStartedEvents(e.BuildEventContext);
                _messageWriter.PrintMessage(e, lightenText);
                _deferredMessageWriter.ShownBuildEventContext(e.BuildEventContext);
            }
        }