Beispiel #1
0
        public UserRating[] GetUsersRatingByCount(int count)
        {
            var usersRatings = _gameDataRetrieveDataAccessService.GetUserRatings();

            usersRatings.ForEach(_ => _.Status = _gameSessions.GetGameSessionStatus(_.UserName));
            //foreach (var userRating in usersRatings)
            //{
            //    userRating.Status = _gameSessions.GetGameSessionStatus(userRating.UserName);
            //}
            return
                (usersRatings.OrderByDescending(_ => _.GdcPoints)
                 .ThenByDescending(_ => _.TotalFunds)
                 .Take(count)
                 .ToArray());
            //var users = _userDataAccess.FindAll();
            ////var usersRatings = (from user in users
            ////                    let gameData = _gameDataRetrieveDataAccessService.GetGameData(user.Id)
            ////                    select new UserRating()
            ////                    {
            ////                        GdcPoints = gameData.Counters.Counters[0].Value,
            ////                        ManualStepsCount = gameData.ManualStepsCount,
            ////                        TotalFunds = gameData.Counters.TotalFunds,
            ////                        UserName = user.Login
            ////                    });
            //var usersRatings = new List<UserRating>();
            //foreach (var user in users)
            //{
            //    var gameData = _gameDataRetrieveDataAccessService.GetGameData(user.Id);
            //    usersRatings.Add(new UserRating()
            //    {
            //        GdcPoints = gameData.Counters.Counters[0].Value,
            //        ManualStepsCount = gameData.ManualStepsCount,
            //        TotalFunds = gameData.Counters.TotalFunds,
            //        UserName = user.Login, Status = _gameSessions.GetGameSessionStatus(user.Login)
            //    });
            //}
            //return usersRatings.OrderByDescending(_ => _.GdcPoints).ThenByDescending(_ => _.TotalFunds).Take(count).ToArray();
        }