public void AddSolutionToRecent(Solution solution) { //remove existing similar folder path string solPath = RecentSolutions.Where(x => SolutionRepository.NormalizePath(x) == SolutionRepository.NormalizePath(solution.Folder)).FirstOrDefault(); if (solPath != null) { RecentSolutions.Remove(solPath); Solution sol = mRecentSolutionsAsObjects.Where(x => SolutionRepository.NormalizePath(x.Folder) == SolutionRepository.NormalizePath(solution.Folder)).FirstOrDefault(); if (sol != null) { mRecentSolutionsAsObjects.Remove(sol); } } // Add it in first place if (RecentSolutions.Count == 0) { RecentSolutions.Add(solution.Folder); } else { RecentSolutions.Insert(0, solution.Folder); } RecentSolutionsAsObjects.AddToFirstIndex(solution); while (RecentSolutions.Count > 10)//to keep list of 10 { RecentSolutions.RemoveAt(10); } }