public static int AnnouncementHandler(AnnouncementOptions opts) { var course = Course.FuzzyGet(opts.Course); if (course == null) { return(1); } Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("{0} ({1})", course.Name, Semester.IdToString(course.SemesterId)); var anncs = course.Announcements(); if (opts.Index != null) { if (opts.Index <= 0 || opts.Index > anncs.Count) { return(1); } var annc = anncs[(int)opts.Index - 1]; Console.ForegroundColor = annc.Priority >= 1 ? ConsoleColor.DarkRed : ConsoleColor.DarkYellow; Console.WriteLine(annc.Title); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("{0} {1}", annc.Owner?.Name, annc.CreatedAt); Console.ResetColor(); Utils.WriteWithHighlights(annc.BodyText().Oneliner()); Console.WriteLine(); } else { var index = 0; foreach (var annc in anncs) { Console.ForegroundColor = ConsoleColor.DarkGray; Console.Write("{0,6}", annc.CreatedAt.DaysSince()); Console.ForegroundColor = ConsoleColor.DarkGray; Console.Write(" {0,3}", ++index); Console.ForegroundColor = annc.Priority >= 1 ? ConsoleColor.DarkRed : ConsoleColor.DarkYellow; Console.WriteLine(" {0}", annc.Title); } Console.ResetColor(); } return(0); }
public static int AnnouncementHandler(AnnouncementOptions opts) { var course = Course.FuzzyGet(opts.Course); if (course == null) return 1; Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("{0} ({1})", course.Name, Semester.IdToString(course.SemesterId)); var anncs = course.Announcements(); if (opts.Index != null) { if (opts.Index <= 0 || opts.Index > anncs.Count) return 1; var annc = anncs[(int)opts.Index - 1]; Console.ForegroundColor = annc.Priority >= 1 ? ConsoleColor.DarkRed : ConsoleColor.DarkYellow; Console.WriteLine(annc.Title); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("{0} {1}", annc.Owner?.Name, annc.CreatedAt); Console.ResetColor(); Utils.WriteWithHighlights(annc.BodyText().Oneliner()); Console.WriteLine(); } else { var index = 0; foreach (var annc in anncs) { Console.ForegroundColor = ConsoleColor.DarkGray; Console.Write("{0,6}", annc.CreatedAt.DaysSince()); Console.ForegroundColor = ConsoleColor.DarkGray; Console.Write(" {0,3}", ++index); Console.ForegroundColor = annc.Priority >= 1 ? ConsoleColor.DarkRed : ConsoleColor.DarkYellow; Console.WriteLine(" {0}", annc.Title); } Console.ResetColor(); } return 0; }