根据时间过滤LINQ集合

    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);
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

18妹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值