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"); } }
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. }
/// <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(); } }