Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
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;
        }