public override Response DoWork(string request) { var moveVariantsRequest = JsonConvert.DeserializeObject<MoveVariantsRequest>(request); var moveVariantsResponse = new MoveVariantsResponse(); var game = Server.Games[moveVariantsRequest.GameID]; var map = new AttackMap(game.Moves); if (map.SourceBoard[moveVariantsRequest.Cell].Side == game.Turn) { moveVariantsResponse.Cells = map.MoveVariants(moveVariantsRequest.Cell); } else { moveVariantsResponse.Cells = new List<string>(); } moveVariantsResponse.Status = Statuses.Ok; return moveVariantsResponse; }