public UserRating[] FindUserRatingByUserNameAndAroundUsers(string userName, int count) { var users = _userDataAccess.FindAll(); var usersRatings = (from user in users let gameData = _gameDataRetrieveDataAccessService.GetGameData(user.Id) select new UserRating { GdcPoints = gameData.Cash.Counters[0].Value, ManualStepsCount = gameData.ManualStepsCount, TotalFunds = gameData.Cash.Total, UserName = user.Login }); return(usersRatings.OrderBy(_ => _.GdcPoints).Take(count).ToArray()); }