public async Task UnsubscribeGame(GameSubscription gameSubscription) { await Groups.RemoveFromGroupAsync(Context.ConnectionId, $"Game-{gameSubscription.GameId}"); _playerConnectionManager.RemovePlayerConnection(Context.ConnectionId); await Clients.Caller.SendAsync("Message", "Successfully Unsubscribed"); }
public async Task SubscribeGame(GameSubscription gameSubscription) { await Groups.AddToGroupAsync(Context.ConnectionId, $"Game-{gameSubscription.GameId}"); _playerConnectionManager.StorePlayerConnection(gameSubscription.PlayerToken, Context.ConnectionId); await Clients.Caller.SendAsync("Message", "Successfully Subscribed"); }
public async Task AddSubscriptionAsync(string gameName, ulong guildID, ulong userID) { if (dbContext.GameSubscriptions.Any(x => x.GameName.Contains(gameName, StringComparison.OrdinalIgnoreCase) && x.GuildID == guildID && x.UserID == userID)) { throw new ArgumentException("The user is already subscribed to that game"); } var gameSubscription = new GameSubscription { GuildID = guildID, UserID = userID, GameName = gameName }; dbContext.GameSubscriptions.Add(gameSubscription); await dbContext.SaveChangesAsync().ConfigureAwait(false); }
public Task AddSubscriptionAsync(string gameName, ulong guildID, ulong userID) { if (dbContext.GameSubscriptions.Any(x => x.GameName.ToUpper().Contains(gameName.ToUpper()) && x.GuildID == guildID && x.UserID == userID)) { throw new ArgumentException("The user is already subscribed to that game"); } var gameSubscription = new GameSubscription { GuildID = guildID, UserID = userID, GameName = gameName }; _ = dbContext.GameSubscriptions.Add(gameSubscription); return(dbContext.SaveChangesAsync()); }
public async Task RemoveSubscriptionAsync(string gameName, ulong guildID, ulong userID) { GameSubscription subscriptionToRemove = await dbContext.GameSubscriptions .AsQueryable() .FirstOrDefaultAsync(x => x.GameName.ToUpper().Contains(gameName.ToUpper()) && x.GuildID == guildID && x.UserID == userID) .ConfigureAwait(false); if (subscriptionToRemove == null) { throw new ArgumentException("The specified subscription does not exist"); } _ = dbContext.GameSubscriptions.Remove(subscriptionToRemove); _ = await dbContext.SaveChangesAsync().ConfigureAwait(false); }