public IEnumerable <User> MatchWithAge(User.eGender i_gender, string i_single = "false", int i_minAge = 18, int i_maxAge = 70) { DateTime bornBefore = DateTime.Now.AddYears(-i_minAge); DateTime bornAfter = DateTime.Now.AddYears(-i_maxAge); bool forceSingle = false; bool single = false; switch (i_single) { case "false": single = false; break; case "true": single = true; break; case "force": single = true; forceSingle = true; break; } UserTest headTest = new UserTest((i_user) => m_logic.GenderFilter(i_user, i_gender)); headTest.Add((i_user) => m_logic.AgeFilter(i_user, bornBefore, bornAfter)); headTest.Add((i_user) => single ? m_logic.Single(i_user, forceSingle) : true); return(m_logic.ChainFilter(headTest)); }
public IEnumerable <User> Match(User.eGender i_gender, string i_single = "False") { bool single = false; switch (i_single) { case "False": single = false; break; case "True": single = true; break; case "Force": single = true; break; } ITestHandler <User> tester = new UserTest((i_user) => m_logic.GenderFilter(i_user, i_gender)); tester.Add((i_user) => single ? m_logic.GenderFilter(i_user, i_gender) : true); return(m_logic.ChainFilter(tester)); }