예제 #1
0
 public static void SetConfig(int MaxResultPerPage, bool HideUnrated, Config.ShowOrder ShowOrder)//将窗体中的设置保存为文件,如果没有的话新建配置并保存
 {
     if (MaxResultPerPage > 100)
     {
         if (MessageBox.Show("同时显示超过100个结果可能会导致界面卡顿,是否确认?", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.No)
         {
             return;
         }
     }
     using (var configSr = new StreamWriter(new FileStream("Config.ini", FileMode.Create, FileAccess.ReadWrite)))
     {
         string configString = $"{MaxResultPerPage},{HideUnrated},{ShowOrder},{Config.DatabaseVersion}";
         configSr.Write(configString);
     }
     ReadConfig();
 }
        public List <CourseData> SearchCourseName(string keyword, int maxResults, bool hideUnrated, Config.ShowOrder showOrder = Config.ShowOrder.None)
        {
            IEnumerable <CourseData> courseList;

            if (!hideUnrated)
            {
                courseList = CourseData.courseDataList.Where(c => c.Name.ToUpper().Contains(keyword.ToUpper()));
            }
            else
            {
                courseList = CourseData.courseDataList.Where(c => c.HasEnoughData).Where(c => c.Name.ToUpper().Contains(keyword.ToUpper()));
            }
            switch (Config.Order)
            {
            case (Config.ShowOrder.Score):
                courseList = courseList.OrderByDescending(c => c.OverallGPAOfThisCourse);
                break;

            case (Config.ShowOrder.HotNum):
                courseList = courseList.OrderByDescending(c => c.TotalSampleSize);
                break;

            case (Config.ShowOrder.None):
                break;

            default:
                break;
            }
            return(courseList.ToList());
        }
        public List <TeacherData> SearchTeacherName(string keyword, int maxResults, bool hideUnrated, Config.ShowOrder showOrder = Config.ShowOrder.None)
        {
            IEnumerable <TeacherData> teacherList;

            if (!hideUnrated)
            {
                teacherList = TeacherData.totalTeacherList.Where(t => t.Name.ToUpper().Contains(keyword.ToUpper()));
            }
            else
            {
                teacherList = TeacherData.totalTeacherList.Where(t => t.HasEnoughData).Where(t => t.Name.ToUpper().Contains(keyword.ToUpper()));
            }
            switch (Config.Order)
            {
            case (Config.ShowOrder.Score):
                teacherList = teacherList.OrderByDescending(t => t.Score);
                break;

            case (Config.ShowOrder.HotNum):
                teacherList = teacherList.OrderByDescending(t => t.CommentNum + t.VoteNum);
                break;

            case (Config.ShowOrder.CallNameRate):
                teacherList = teacherList.OrderBy(t => t.CallNameState);
                break;

            case (Config.ShowOrder.None):
                break;
            }
            return(teacherList.ToList());
        }