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