private void HandleRegisterForUpdates(TcpRequest request) { _logger.LogMessage("Handling register for update request"); var registerForUpdatesRequest = JsonConvert.DeserializeObject <RegisterForUpdatesRequest>(request.Body); _broadcastService.AddPort(registerForUpdatesRequest.Port); SendAllStats(); var cardGroupInfoList = new List <CardGroupInfo>(); var buttonInfoList = new List <ButtonInfo>(); foreach (var cardGroup in _appData.Game.AllCardGroups) { cardGroupInfoList.Add(new CardGroupInfo { CardGroupId = cardGroup.Id, Name = cardGroup.Name, IsImageAvailable = cardGroup.ButtonImageAsBytes != null, ImageId = cardGroup.Name, Zones = (from zone in cardGroup.CardZones select zone.Name).ToList() }); buttonInfoList.AddRange(cardGroup.GetButtonInfo()); } SendRegisterForUpdatesResponse(request.Socket, cardGroupInfoList, buttonInfoList); }