public List <string> GetFilteredPosts(DateTime i_DateStartTime, DateTime i_DateEndTime, IPostSorter i_Strategy, string i_FilterBySTR) { m_UserFilteredPost.Clear(); filterPostByRangeOfDate(i_DateStartTime, i_DateEndTime); filterPostByASentence(i_FilterBySTR); i_Strategy.SortPosts(m_UserFilteredPost); List <string> userContentPosts = getUserContentPosts(); return(userContentPosts); }
private void setRequierements(DateTime i_DateStartTime, DateTime i_DateEndTime, IPostSorter i_Strategy, string i_FilterBySTR) { m_LastUserRequirements = Tuple.Create(i_DateStartTime, i_DateEndTime, i_Strategy, i_FilterBySTR); }
public List <string> GetFilteredPosts(DateTime i_DateStartTime, DateTime i_DateEndTime, IPostSorter i_Strategy, string i_FilterBySTR) { if (m_PostsFinder == null) { m_PostsFinder = new PostFinder(m_NewLoggedInUser.User); setRequierements(i_DateStartTime, i_DateEndTime, i_Strategy, i_FilterBySTR); } bool isOldPostsCache = checkIfItsOldCachePosts(i_DateEndTime); bool wasUserRequirementsChanged = checkIfRequirementsHaveChanged(i_DateStartTime, i_DateEndTime, i_Strategy, i_FilterBySTR); if (isOldPostsCache || wasUserRequirementsChanged) { setRequierements(i_DateStartTime, i_DateEndTime, i_Strategy, i_FilterBySTR); m_UserFilteredPost = m_PostsFinder.GetFilteredPosts(i_DateStartTime, i_DateEndTime, i_Strategy, i_FilterBySTR); } return(m_UserFilteredPost); }
private bool checkIfRequirementsHaveChanged(DateTime i_DateStartTime, DateTime i_DateEndTime, IPostSorter i_Strategy, string i_FilterBySTR) { return (m_LastUserRequirements.Item1 != i_DateStartTime || m_LastUserRequirements.Item2 != i_DateEndTime || m_LastUserRequirements.Item3 != i_Strategy || m_LastUserRequirements.Item4 != i_FilterBySTR); }
public List <string> GetFilteredPosts(string i_FilterByASentence, DateTime i_Start, DateTime i_End, IPostSorter i_Strategy) { return(m_PostFinder.GetFilteredPosts(i_Start, i_End, i_Strategy, i_FilterByASentence)); }