public static 大分类 得到会员最近使用分类(Guid 会员ID, int 需返回条数) { LoveKaoExamDataContext db = new LoveKaoExamDataContext(); //取最近7天使用过的分类 List<所属分类表> listDBSort = db.所属分类表.Where(a => a.操作人id == 会员ID && a.操作时间 > DateTime.Now.AddDays(-7)).OrderByDescending(a => a.操作时间).ToList(); 大分类 ReturnSort = new 大分类(); if (listDBSort.Count != 0) { List<string> list = listDBSort.Select(a => a.分类名).Distinct().Take(需返回条数).ToList(); List<系统分类表> listRecentSystemSort = db.系统分类表.Where(a => list.Contains(a.分类名称)).ToList(); foreach (string sortName in list) { 系统分类表 thisSystemSort = listRecentSystemSort.First(a => a.分类名称.ToLower() == sortName.ToLower()); 分类名称和分类类别名称 newSort = new 分类名称和分类类别名称(); newSort.分类名 = sortName; newSort.类型 = thisSystemSort.分类类别名称; switch (thisSystemSort.分类类别名称) { case "学科": { ReturnSort.学科.Add(newSort); break; } case "学历": { ReturnSort.学历.Add(newSort); break; } case "考试": { ReturnSort.考试.Add(newSort); break; } case "年份": { ReturnSort.年份.Add(newSort); break; } case "地区": { ReturnSort.地区.Add(newSort); break; } case "": { newSort.类型 = "开放分类"; ReturnSort.开放分类.Add(newSort); break; } } } return ReturnSort; } else { return ReturnSort; } }
public static List<分类名称和分类类别名称> 得到分类输入提示框数据源(string 分类名称, int 返回条数) { LoveKaoExamEntities db = new LoveKaoExamEntities(); //List<系统分类表> listSystemSort = 分类.得到缓存的系统分类(db); List<系统分类表> listSystemSort = db.系统分类表.ToList(); string 小写分类名称 = 分类名称.ToLower(); List<系统分类表> listSort = listSystemSort.Where(a => a.分类名称.ToLower().StartsWith(小写分类名称)).ToList(); List<系统分类表> listSimilarSort = listSort.Where(a => a.同义词分类名称 != "").ToList(); List<系统分类表> listMainSort = listSort.Except(listSimilarSort).ToList(); if (listSimilarSort.Count != 0) { var groupSimilarSort = listSimilarSort.GroupBy(a => a.同义词分类名称).ToList(); foreach (var subGroupSimilarSort in groupSimilarSort) { if (listSort.Any(a => a.分类名称 == subGroupSimilarSort.ElementAt(0).同义词分类名称) == false) { listMainSort.Add(subGroupSimilarSort.ElementAt(0)); } } } listMainSort = listMainSort.OrderBy(a => a.分类名称).ToList(); 系统分类表 nowSort = listMainSort.Where(a => a.分类名称.ToLower() == 小写分类名称).FirstOrDefault(); if (nowSort != null) { listMainSort.Remove(nowSort); //放到第一个位置 listMainSort.Insert(0, nowSort); } List<分类名称和分类类别名称> listNewSort = new List<分类名称和分类类别名称>(); foreach (系统分类表 systemSort in listMainSort) { 分类名称和分类类别名称 newSort = new 分类名称和分类类别名称(); newSort.分类名 = systemSort.分类名称; listNewSort.Add(newSort); } return listNewSort; }
public static List<分类名称和分类类别名称> 得到某会员最近使用分类(Guid 会员ID, int 需返回条数) { LoveKaoExamEntities db = new LoveKaoExamEntities(); DateTime minTime=DateTime.Now.AddDays(-7); //取最近7天使用过的分类 List<所属分类表> listDBSort = db.所属分类表.Where(a => a.操作人ID == 会员ID && a.操作时间 > minTime).OrderByDescending(a => a.操作时间).ToList(); List<string> listBelongSortName=listDBSort.Select(a => a.分类名).Distinct().Take(需返回条数).ToList(); List<分类名称和分类类别名称> listSort = new List<分类名称和分类类别名称>(); foreach (string belongSortName in listBelongSortName) { 分类名称和分类类别名称 sort = new 分类名称和分类类别名称(); sort.分类名 = belongSortName; sort.类型 = ""; listSort.Add(sort); } return listSort; }
public static List<分类名称和分类类别名称> 判断分类是否存在(string 分类集合字符串) { List<string> 分类集合 = 分类集合字符串.Split(",".ToCharArray()).ToList(); LoveKaoExamEntities db = new LoveKaoExamEntities(); //去空格和重复 分类集合 = 分类集合.Distinct().ToList(); List<string> listNullSort = 分类集合.Where(a => a == "").ToList(); 分类集合 = 分类集合.Except(listNullSort).ToList(); List<string> listExistSortName = db.系统分类表.Where(a => 分类集合.Contains(a.分类名称)) .Select(a => a.分类名称).ToList(); 分类集合 = 分类集合.Except(listExistSortName).ToList(); List<分类名称和分类类别名称> listBelongSort = new List<分类名称和分类类别名称>(); foreach (string sort in 分类集合) { 分类名称和分类类别名称 newSort = new 分类名称和分类类别名称(); newSort.分类名 = sort; listBelongSort.Add(newSort); } return listBelongSort; }