private bool Filter(JudgeInfo p) { var now = DateTime.Now; string pf = null, uf = null; var tf = -1; Dispatcher.Invoke(() => { pf = ProblemFilter.SelectedItem as string; uf = UserFilter.SelectedItem as string; tf = TimeFilter.SelectedIndex; }); if (pf != null) { if (p.ProblemName != pf) { return(false); } } if (uf != null) { if (p.UserName != uf) { return(false); } } if (tf != -1) { var ti = Convert.ToDateTime(p.JudgeDate); switch (tf) { case 0: { if (ti.Year != now.Year || ti.Month != now.Month || ti.Day != now.Day) { return(false); } break; } case 1: { if ((now - ti).TotalDays > 3) { return(false); } break; } case 2: { if ((now - ti).TotalDays > 7) { return(false); } break; } case 3: { if ((now - ti).TotalDays > 30) { return(false); } break; } case 4: { if ((now - ti).TotalDays > 91) { return(false); } break; } case 5: { if ((now - ti).TotalDays > 182) { return(false); } break; } case 6: { if ((now - ti).TotalDays > 365) { return(false); } break; } } } return(true); }
private bool Filter(JudgeInfo p) { var now = DateTime.Now; var tf = TimeFilter.SelectedIndex; if (ProblemFilter.SelectedItem is string pf) { if (p.ProblemName != pf) { return(false); } } if (UserFilter.SelectedItem is string uf) { if (p.UserName != uf) { return(false); } } if (tf != -1) { var ti = Convert.ToDateTime(p.JudgeDate); switch (tf) { case 0: { if (ti.Year != now.Year || ti.Month != now.Month || ti.Day != now.Day) { return(false); } break; } case 1: { if ((now - ti).TotalDays > 3) { return(false); } break; } case 2: { if ((now - ti).TotalDays > 7) { return(false); } break; } case 3: { if ((now - ti).TotalDays > 30) { return(false); } break; } case 4: { if ((now - ti).TotalDays > 91) { return(false); } break; } case 5: { if ((now - ti).TotalDays > 182) { return(false); } break; } case 6: { if ((now - ti).TotalDays > 365) { return(false); } break; } } } return(true); }