Example #1
0
        public override int Start()
        {
            BaCon.WriteLine($"Name={Name}", ConsoleColor.White);
            BaCon.WriteLine($"Age={Age}");
            BaCon.WriteLine($"Job={Occupation}");
            BaCon.WriteLine($"HasHair={HasHair}");
            BaCon.WriteLine($"Children={string.Join(", ", Children)}");
            BaCon.WriteLine($"Marital Status={Status}");

            return(0);            // 0 for success.
        }
        /// <summary>
        /// Write the log message to the console.
        /// </summary>
        /// <param name="level"></param>
        /// <param name="msg"></param>
        /// <param name="ex"></param>
        public override void WriteLogMessage(BaConLogLevel level, string msg, Exception ex)
        {
            var log = FormatMessage(level, msg, ex);

            if (!log.HasValue())
            {
                return;
            }

            using (GetLevelColor(level))
            {
                BaCon.WriteLine(log, indentN: "\t");
            }
        }
Example #3
0
        public override int Start()
        {
            var today = DateTime.Today;

            if (BirthDate.Month == today.Month && BirthDate.Day == today.Day)
            {
                BaCon.WriteLine("Happy birthday {0}!!!".Fmt(Name), ConsoleColor.Red);
            }
            else
            {
                var next = BirthDate.AddYears(today.Year - BirthDate.Year);
                if (next < today)
                {
                    next = next.AddYears(1);
                }
                int numDays = (next - today).Days;
                BaCon.WriteLine("Only {0} days until your birthday!".Fmt(numDays));
            }

            return(0);            // 0 for success.
        }
Example #4
0
        /// <summary>
        /// Writes the console application help to the console.
        /// </summary>
        /// <param name="results"></param>
        public virtual void WriteHelp(CmdLineParseResults results)
        {
            if (results.Errors.Length > 0)
            {
                if (BaCon.ErrorMessageTitle.HasValue())
                {
                    using (var clr = new BaConColor(BaCon.Theme.ErrorTitleText, BaCon.Theme.ErrorTitleBackground))
                        BaCon.WriteLine(BaCon.ErrorMessageTitle);
                }
                foreach (var err in results.Errors)
                {
                    BaCon.WriteLine(err, BaCon.Theme.ErrorColor, " > ", "\t");
                }
                BaCon.WriteLine();
            }

            var usage = GetUsage();

            if (usage.HasValue())
            {
                BaCon.WriteLine();
                BaCon.WriteLine("[USAGE]");
                BaCon.WriteLine();
                BaCon.WriteLine(usage, BaCon.Theme.UsageColor, "", "\t");
                BaCon.WriteLine();
            }

            var showSectionTitle = true;

            foreach (var prop in results.Properties.Where(p => p.ShowInHelp))
            {
                var propHelp = GetPropertyHelp(prop);
                if (propHelp.IsEmpty())
                {
                    continue;
                }

                if (showSectionTitle)
                {
                    // We only want to display the section title if we
                    // are displaying help text for properties.
                    BaCon.WriteLine();
                    BaCon.WriteLine("[LIST OF VALID ARGUMENTS]");
                    showSectionTitle = false;
                }

                BaCon.WriteLine();                 // Place a line break between properties.

                var clr = prop.Required ? BaCon.Theme.RequiredArgColor : BaCon.Theme.StandardArgColor;
                BaCon.WriteLine(propHelp, clr, "", "\t");
                BaCon.WriteLine();
            }

            var exitCodes = GetExitCodesDisplay();

            if (exitCodes.HasValue())
            {
                BaCon.WriteLine();
                BaCon.WriteLine("[EXIT CODES]");
                BaCon.WriteLine();
                BaCon.WriteLine(exitCodes);
                BaCon.WriteLine();
            }
        }