根据时间过滤LINQ集合
来源:互联网 发布:淘宝分期买手机靠谱吗 编辑:程序博客网 时间:2024/06/07 02:14
public void SearchByKeyWords(Dictionary<string, string> keyWords)
{
if (RegulationList != null && RegulationList.Count>0)
{
List<TabRegulation> result = RegulationList.ToList();
if (keyWords.Count == 0)
{
return;
}
foreach (string key in keyWords.Keys)
{
switch (key)
{
case "bt":
result = RegulationList.Where<TabRegulation>(n => n.RTitle.Contains(keyWords[key])).ToList();
break;
case "wh":
result = result.Where<TabRegulation>(n => n.RNumber.Contains(keyWords[key])).ToList();
break;
case "bbdw":
result = result.Where<TabRegulation>(n => n.Agency.Contains(keyWords[key])).ToList();
break;
case "bbrqk"://颁布日期开始日期
DateTime dt = Convert.ToDateTime(keyWords[key]);
dt = Convert.ToDateTime(dt.Year.ToString() + "/" + dt.Month.ToString() + "/" + dt.Day.ToString() + " 12:00:00");
List<TabRegulation> result1 = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate=(DateTime)(d.ReleaseDate);
if (dt < dApplyDate)
{
result1.Add(d);
}
}
result = result1;
break;
case "bbrqj"://颁布日期结束日期
DateTime dtj = Convert.ToDateTime(keyWords[key]);
dtj = Convert.ToDateTime(dtj.Year.ToString() + "/" + dtj.Month.ToString() + "/" + dtj.Day.ToString() + " 23:59:59");
List<TabRegulation> resultj = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate = (DateTime)(d.ReleaseDate);
if (dApplyDate < dtj)
{
resultj.Add(d);
}
}
result = resultj;
break;
case "ssrqk"://实施日期
DateTime ssrqk = Convert.ToDateTime(keyWords[key]);
ssrqk = Convert.ToDateTime(ssrqk.Year.ToString() + "/" + ssrqk.Month.ToString() + "/" + ssrqk.Day.ToString() + " 12:00:00");
List<TabRegulation> ssrqklist = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate = (DateTime)(d.ApplyDate);
if (ssrqk < dApplyDate)
{
ssrqklist.Add(d);
}
}
result = ssrqklist;
break;
case "ssrqj"://实施日期
DateTime ssrqj = Convert.ToDateTime(keyWords[key]);
ssrqj = Convert.ToDateTime(ssrqj.Year.ToString() + "/" + ssrqj.Month.ToString() + "/" + ssrqj.Day.ToString() + " 23:59:59");
List<TabRegulation> ssrqjlist = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate = (DateTime)(d.ApplyDate);
if (dApplyDate < ssrqj)
{
ssrqjlist.Add(d);
}
}
result = ssrqjlist;
break;
}
}
RegulationList = new ObservableCollection<TabRegulation>(result);
}
}
{
if (RegulationList != null && RegulationList.Count>0)
{
List<TabRegulation> result = RegulationList.ToList();
if (keyWords.Count == 0)
{
return;
}
foreach (string key in keyWords.Keys)
{
switch (key)
{
case "bt":
result = RegulationList.Where<TabRegulation>(n => n.RTitle.Contains(keyWords[key])).ToList();
break;
case "wh":
result = result.Where<TabRegulation>(n => n.RNumber.Contains(keyWords[key])).ToList();
break;
case "bbdw":
result = result.Where<TabRegulation>(n => n.Agency.Contains(keyWords[key])).ToList();
break;
case "bbrqk"://颁布日期开始日期
DateTime dt = Convert.ToDateTime(keyWords[key]);
dt = Convert.ToDateTime(dt.Year.ToString() + "/" + dt.Month.ToString() + "/" + dt.Day.ToString() + " 12:00:00");
List<TabRegulation> result1 = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate=(DateTime)(d.ReleaseDate);
if (dt < dApplyDate)
{
result1.Add(d);
}
}
result = result1;
break;
case "bbrqj"://颁布日期结束日期
DateTime dtj = Convert.ToDateTime(keyWords[key]);
dtj = Convert.ToDateTime(dtj.Year.ToString() + "/" + dtj.Month.ToString() + "/" + dtj.Day.ToString() + " 23:59:59");
List<TabRegulation> resultj = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate = (DateTime)(d.ReleaseDate);
if (dApplyDate < dtj)
{
resultj.Add(d);
}
}
result = resultj;
break;
case "ssrqk"://实施日期
DateTime ssrqk = Convert.ToDateTime(keyWords[key]);
ssrqk = Convert.ToDateTime(ssrqk.Year.ToString() + "/" + ssrqk.Month.ToString() + "/" + ssrqk.Day.ToString() + " 12:00:00");
List<TabRegulation> ssrqklist = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate = (DateTime)(d.ApplyDate);
if (ssrqk < dApplyDate)
{
ssrqklist.Add(d);
}
}
result = ssrqklist;
break;
case "ssrqj"://实施日期
DateTime ssrqj = Convert.ToDateTime(keyWords[key]);
ssrqj = Convert.ToDateTime(ssrqj.Year.ToString() + "/" + ssrqj.Month.ToString() + "/" + ssrqj.Day.ToString() + " 23:59:59");
List<TabRegulation> ssrqjlist = new List<TabRegulation>();
foreach (TabRegulation d in result)
{
DateTime dApplyDate = (DateTime)(d.ApplyDate);
if (dApplyDate < ssrqj)
{
ssrqjlist.Add(d);
}
}
result = ssrqjlist;
break;
}
}
RegulationList = new ObservableCollection<TabRegulation>(result);
}
}
- 根据时间过滤LINQ集合
- 集合根据条件过滤元素
- linq根据传入数据集合查询对应子级数据
- 集合内根据对象属性过滤对象及获取对象某属性值集合
- Revit二次开发之使用LINQ查询元素过滤集合里的元素【比目鱼原创】
- Linq 支持动态字查询集合, 也就是说根据传入的值进行查询。
- 284_根据集合条目的时间来排序
- linq 根据子集合的字段获取父集合(包含父集合下的子集合)
- Java根据开始时间和结束时间返回时间段内的时间集合
- 根据开始时间和结束时间返回时间段内的时间集合
- mongodb 3.x 客户端开发四:golang根据条件过滤查询mongodb集合数据
- 非泛型集合使用Linq
- Linq 集合处理(Union)
- LINQ - 查询对象集合
- Linq操作集合数组
- Linq 语法集合
- LINQ集合操作
- java*根据两个时间获得两个时间之间的日期集合
- 建立一个php页面,显示php的一些功能,并加以说明(php上传文件)
- T(n) = 25T(n/5)+n^2的时间复杂度
- ASCII文件与二进制文件
- 增强插件第二波——增强型文件过滤插件
- 【整】char、varchar、nchar、nvarchar的区别
- 根据时间过滤LINQ集合
- 箴言
- CMPP协议解读之消息收发模式介绍
- 百度面试题(简单的正则匹配)
- 泛型dao 详细剖析
- 函数对象与 for_each结合使用
- android UI进阶之仿iphone的tab效果
- 同步和异步调用
- CGI/FCGI