Exemple #1
0
        public async Task GetEnrollmentAsync(params string[] options)
        {
            var channelConfig = await ConfigurationService.ReadChannelAsync(Context.Channel.Id);

            List <CourseModel> courses;

            switch (options.Length)
            {
            case 0:
                await Context.Channel.SendMessageAsync(
                    "No results were fetched because no parameters were specified.");

                return;

            case 1:
                courses = await EnrollmentService.GetCoursesById(channelConfig.Semester, options[0], "");

                break;

            case 2:
                courses = await EnrollmentService.GetCoursesById(channelConfig.Semester, options[0], options[1]);

                break;

            default:
                return;
            }

            var table = new PrettyTable <CourseModel> {
                Data = courses
            };

            table.AddColumn("Catalog", x => x.Department + " " + x.CatalogNumber);
            table.AddColumn("Section", x => x.SectionNumber);
            table.AddColumn("Title", x => x.Name);
            table.AddColumn("Instructor", x => x.Instructor);
            table.AddColumn("Enrollment", x => x.Enrolled + "/" + x.Size);

            await SplitAndSendMessageAsync(Context.Channel, "```" + table.BuildTable() + "```");
        }
Exemple #2
0
        public async Task QueryCoursesAsync([Remainder] string query)
        {
            query = "select " + query;

            var channelConfig = await ConfigurationService.ReadChannelAsync(Context.Channel.Id);

            CourseDatabaseService.Semester = channelConfig.Semester;

            var data = await CourseDatabaseService.Query(query);

            var table = new PrettyTable <string[]> {
                Data = data.ToList()
            };

            for (var i = 0; i < data[0].Length; i++)
            {
                var i1 = i;
                table.AddColumn(data[0][i], x => x[i1]);
            }

            await SplitAndSendMessageAsync(Context.Channel, "```" + table.BuildTable() + "```");
        }