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);
}