public virtual async Task <SolutionDto> UseAsync(SolutionDto input) { Check.NotNullOrWhiteSpace(input.DisplayName, nameof(input.DisplayName)); Check.NotNullOrWhiteSpace(input.DirectoryPath, nameof(input.DirectoryPath)); var list = await _manager.GetListAsync(); var solution = FindSolution(list, input); if (solution == null) { list.AddFirst(input); } else { list.MoveItem((x) => x == solution, 0); } if (list.Count > RecentlySolutionsMaxCount) { list = list.GetRange(0, RecentlySolutionsMaxCount); } await _manager.UpdateListAsync(list); return(input); }
protected virtual async Task UpdateRecentlySolutionListAsync(List <SolutionDto> list) { if (list.Count > RecentlySolutionsMaxCount) { list = list.GetRange(0, RecentlySolutionsMaxCount); } await _manager.UpdateListAsync(list); }