ChessSharp.Web.Controllers.ChessApiController.GetActiveGames C# (CSharp) Method

GetActiveGames() private method

private GetActiveGames ( ) : System.Web.Mvc.ActionResult
return System.Web.Mvc.ActionResult
        public ActionResult GetActiveGames()
        {
            var lightGames = UnitOfWork.All<Game>(g => g.LightPlayer == CurrentUser);
            var darkGames = UnitOfWork.All<Game>(g => g.DarkPlayer == CurrentUser);

            var gameModels = new List<GamePreviewViewModel>();
            foreach (var game in lightGames)
            {
                var model = AutoMapper.Mapper.Map<GamePreviewViewModel>(game);
                model.IsPlayersTurn = game.MoveCount % 2 == 0;
                model.OpponentName = game.DarkPlayer.DisplayName;
                gameModels.Add(model);
            }
            foreach (var game in darkGames)
            {
                var model = AutoMapper.Mapper.Map<GamePreviewViewModel>(game);
                model.IsPlayersTurn = game.MoveCount % 2 == 1;
                model.OpponentName = game.LightPlayer.DisplayName;
                gameModels.Add(model);
            }

            return Json(gameModels.OrderBy(g => !g.IsPlayersTurn), JsonRequestBehavior.AllowGet);
        }