public async Task <bool> UpdateConstructedTeamInfo(ConstructedTeam teamUpdate)
        {
            var updateId       = teamUpdate.Id;
            var updateName     = teamUpdate.Name;
            var updateAlias    = teamUpdate.Alias;
            var updateIsHidden = teamUpdate.IsHiddenFromSelection;

            if (!IsValidConstructedTeamName(updateName))
            {
                _logger.LogError($"Error update Constructed Team {updateId} info: invalid team name");
                return(false);
            }

            if (!IsValidConstructedTeamAlias(updateAlias))
            {
                _logger.LogError($"Error update Constructed Team {updateId} info: invalid team alias");
                return(false);
            }

            using (await _constructedTeamLock.WaitAsync($"{updateId}"))
            {
                try
                {
                    using var factory = _dbContextHelper.GetFactory();
                    var dbContext = factory.GetDbContext();

                    var storeEntity = await GetConstructedTeam(updateId, true);

                    if (storeEntity == null)
                    {
                        return(false);
                    }

                    var oldName     = storeEntity.Name;
                    var oldAlias    = storeEntity.Alias;
                    var oldIsHidden = storeEntity.IsHiddenFromSelection;

                    storeEntity.Name  = updateName;
                    storeEntity.Alias = updateAlias;
                    storeEntity.IsHiddenFromSelection = updateIsHidden;

                    dbContext.ConstructedTeams.Update(storeEntity);

                    await dbContext.SaveChangesAsync();

                    await SetUpConstructedTeamsMap();

                    var message = new ConstructedTeamInfoChangeMessage(storeEntity, oldName, oldAlias, oldIsHidden);
                    _messageService.BroadcastConstructedTeamInfoChangeMessage(message);

                    return(true);
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error update Constructed Team {updateId} info: {ex}");
                    return(false);
                }
            }
        }
        public void BroadcastConstructedTeamInfoChangeMessage(ConstructedTeamInfoChangeMessage message)
        {
            OnRaiseConstructedTeamInfoChangeEvent(new ScrimMessageEventArgs <ConstructedTeamInfoChangeMessage>(message));

            TrySaveToLogFile(message.Info);
        }