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