public async Task <ConstructedTeam> CreateConstructedTeam(ConstructedTeam constructedTeam) { if (!IsValidConstructedTeamName(constructedTeam.Name)) { return(null); } if (!IsValidConstructedTeamAlias(constructedTeam.Alias)) { return(null); } using (await _constructedTeamLock.WaitAsync($"{constructedTeam.Id}")) { try { using var factory = _dbContextHelper.GetFactory(); var dbContext = factory.GetDbContext(); dbContext.ConstructedTeams.Add(constructedTeam); await dbContext.SaveChangesAsync(); await SetUpConstructedTeamsMap(); return(constructedTeam); } catch (Exception ex) { _logger.LogError(ex.ToString()); return(null); } } }
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); } } }
private ConstructedTeamFormInfo ConvertToTeamFormInfo(ConstructedTeam constructedTeam) { return(new ConstructedTeamFormInfo { Id = constructedTeam.Id, Name = constructedTeam.Name, Alias = constructedTeam.Alias, IsHiddenFromSelection = constructedTeam.IsHiddenFromSelection }); }
public TeamConstructedTeamChangeMessage(int teamOrdinal, ConstructedTeam constructedTeam, int factionId, TeamChangeType changeType, int?playersFound = null) { TeamOrdinal = teamOrdinal; ConstructedTeam = constructedTeam; FactionId = factionId; ChangeType = changeType; PlayersFound = playersFound; Info = GetInfoMessage(); }
public ConstructedTeamInfoChangeMessage(ConstructedTeam constructedTeam, string oldName, string oldAlias, bool oldIsHidden) { ConstructedTeam = constructedTeam; NewName = ConstructedTeam.Name; NewAlias = ConstructedTeam.Alias; NewIsHidden = ConstructedTeam.IsHiddenFromSelection; OldName = oldName; OldAlias = oldAlias; OldIsHidden = oldIsHidden; Info = $"Info changed for Constructed Team {ConstructedTeam.Id}: [{OldAlias}] {OldName} {OldIsHidden.ToString().ToUpper()} => [{NewAlias}] {NewName} {NewIsHidden.ToString().ToUpper()}"; }