public async Task <GenericResponse <BooleanResponse> > RemoveUserGame(TGame dbGame, string gameUsername, long userId) { try { TUserGame dbUserGame = _databaseContext.TUserGame .FirstOrDefault(ug => ug.UserId == userId && ug.GameId == dbGame.Id && ug.Username == gameUsername); // Error case if not found if (dbUserGame == null) { return(new GenericResponse <BooleanResponse>($"Cannot find {gameUsername} for game {dbGame.Id}", null)); } _databaseContext.TUserGame.Remove(dbUserGame); await _databaseContext.SaveChangesAsync(); return(new GenericResponse <BooleanResponse>(new BooleanResponse { Success = true })); } catch (DbUpdateException e) { return(new GenericResponse <BooleanResponse>("Error while removing game", e)); } }
public async Task <GenericResponse <BooleanResponse> > UpdateCache(EdsmResponse edsmResponse, TUserGame userGame) { TEliteStat dbStats = _databaseContext.TEliteStat.FirstOrDefault(s => s.UserGame.Username == userGame.Username); bool newStats = false; if (dbStats == null) { newStats = true; dbStats = new TEliteStat { UserGameId = userGame.Id }; } dbStats.CombatProgress = edsmResponse.Progress.Combat; dbStats.CombatRank = edsmResponse.Ranks.Combat; dbStats.CqcProgress = edsmResponse.Progress.CQC; dbStats.CqcRank = edsmResponse.Ranks.CQC; dbStats.EmpireProgress = edsmResponse.Progress.Empire; dbStats.EmpireRank = edsmResponse.Ranks.Empire; dbStats.ExplorerProgress = edsmResponse.Progress.Explore; dbStats.ExplorerRank = edsmResponse.Ranks.Explore; dbStats.FederationProgress = edsmResponse.Progress.Federation; dbStats.FederationRank = edsmResponse.Ranks.Federation; dbStats.TraderProgress = edsmResponse.Progress.Trade; dbStats.TraderRank = edsmResponse.Ranks.Trade; try { if (newStats) { _databaseContext.TEliteStat.Add(dbStats); } else { _databaseContext.TEliteStat.Update(dbStats); } await _databaseContext.SaveChangesAsync(); return(new GenericResponse <BooleanResponse>(new BooleanResponse { Success = true })); } catch (DbUpdateException e) { return(new GenericResponse <BooleanResponse>("Error while saving in cache", e)); } }
public async Task <GenericResponse <BooleanResponse> > UpdateCache(LolStatsResponse lolResponse, TUserGame userGame) { TLolStat dbStats = _databaseContext.TLolStat.FirstOrDefault(s => s.UserGame.Username == userGame.Username); bool newStats = false; if (dbStats == null) { newStats = true; dbStats = new TLolStat { UserGameId = userGame.Id }; } dbStats.FlexTier = lolResponse.FlexQ.Tier; dbStats.FlexLosses = lolResponse.FlexQ.Losses; dbStats.FlexLp = lolResponse.FlexQ.LeaguePoints; dbStats.FlexNameLeague = lolResponse.FlexQ.LeagueName; dbStats.FlexWins = lolResponse.FlexQ.Wins; dbStats.FlexRank = lolResponse.FlexQ.Rank; dbStats.SoloTier = lolResponse.SoloQ.Tier; dbStats.SoloLosses = lolResponse.SoloQ.Losses; dbStats.SoloLp = lolResponse.SoloQ.LeaguePoints; dbStats.SoloNameLeague = lolResponse.SoloQ.LeagueName; dbStats.SoloWins = lolResponse.SoloQ.Wins; dbStats.SoloRank = lolResponse.SoloQ.Rank; try { if (newStats) { _databaseContext.TLolStat.Add(dbStats); } else { _databaseContext.TLolStat.Update(dbStats); } await _databaseContext.SaveChangesAsync(); return(new GenericResponse <BooleanResponse>(new BooleanResponse { Success = true })); } catch (DbUpdateException e) { return(new GenericResponse <BooleanResponse>("Error while saving in cache", e)); } }
public async Task <GenericResponse <BooleanResponse> > UpdateCache(Gw2StatsResponse gw2StatResponse, TUserGame userGame) { TGw2Stat dbStats = _databaseContext.TGw2Stat.FirstOrDefault(s => s.UserGame.Username == userGame.Username); bool newStats = false; if (dbStats == null) { newStats = true; dbStats = new TGw2Stat { UserGameId = userGame.Id }; } dbStats.PvpRank = gw2StatResponse.PvpRank; dbStats.PvpRankPoints = gw2StatResponse.PvpRankPoint; dbStats.PvpRankRollovers = gw2StatResponse.PvpRankRollovers; dbStats.Wins = gw2StatResponse.Aggregate.Wins; dbStats.Losses = gw2StatResponse.Aggregate.Losses; dbStats.Desertions = gw2StatResponse.Aggregate.Desertions; dbStats.Byes = gw2StatResponse.Aggregate.Byes; dbStats.Forfeits = gw2StatResponse.Aggregate.Forfeits; dbStats.UserGameId = userGame.Id; try { if (newStats) { _databaseContext.TGw2Stat.Add(dbStats); } else { _databaseContext.TGw2Stat.Update(dbStats); } await _databaseContext.SaveChangesAsync(); return(new GenericResponse <BooleanResponse>(new BooleanResponse { Success = true })); } catch (DbUpdateException e) { return(new GenericResponse <BooleanResponse>("Error while saving in cache", e)); } }
public async Task <GenericResponse <BooleanResponse> > UpdateCache(R6StatsResponse r6StatsResponse, TUserGame userGame) { TR6Stat dbStats = _databaseContext.TR6Stat.FirstOrDefault(s => s.UserGame.Username == userGame.Username); bool newStats = false; if (dbStats == null) { newStats = true; dbStats = new TR6Stat { UserGameId = userGame.Id }; } dbStats.CasualDeaths = r6StatsResponse.Player.Stats.Casual.Deaths; dbStats.CasualKd = r6StatsResponse.Player.Stats.Casual.Kd; dbStats.CasualKills = r6StatsResponse.Player.Stats.Casual.Kills; dbStats.CasualLosses = r6StatsResponse.Player.Stats.Casual.Losses; dbStats.CasualPlaytime = r6StatsResponse.Player.Stats.Casual.Playtime; dbStats.CasualWins = r6StatsResponse.Player.Stats.Casual.Wins; dbStats.CasualWlr = r6StatsResponse.Player.Stats.Casual.Wlr; dbStats.PlayerLevel = r6StatsResponse.Player.Stats.Progression.Level; dbStats.RankedDeaths = r6StatsResponse.Player.Stats.Ranked.Deaths; dbStats.RankedKd = r6StatsResponse.Player.Stats.Ranked.Kd; dbStats.RankedKills = r6StatsResponse.Player.Stats.Ranked.Kills; dbStats.RankedLosses = r6StatsResponse.Player.Stats.Ranked.Losses; dbStats.RankedPlaytime = r6StatsResponse.Player.Stats.Ranked.Playtime; dbStats.RankedWins = r6StatsResponse.Player.Stats.Ranked.Wins; dbStats.RankedWlr = r6StatsResponse.Player.Stats.Ranked.Wlr; try { if (newStats) { _databaseContext.TR6Stat.Add(dbStats); } else { _databaseContext.TR6Stat.Update(dbStats); } await _databaseContext.SaveChangesAsync(); return(new GenericResponse <BooleanResponse>(new BooleanResponse { Success = true })); } catch (DbUpdateException e) { return(new GenericResponse <BooleanResponse>("Error while saving in cache", e)); } }
public async Task <GenericResponse <BooleanResponse> > UpdateCache(FortniteStatsResponse fortniteResponse, TUserGame userGame) { TFortnite dbStats = _databaseContext.TFortnite.FirstOrDefault(s => s.UserGame.Username == userGame.Username); bool newStats = false; if (dbStats == null) { newStats = true; dbStats = new TFortnite { UserGameId = userGame.Id }; } dbStats.DuoTop1 = fortniteResponse.DuoTop1; dbStats.DuoTop5 = fortniteResponse.DuoTop5; dbStats.DuoTop12 = fortniteResponse.DuoTop12; dbStats.SoloTop1 = fortniteResponse.SoloTop1; dbStats.SoloTop10 = fortniteResponse.SoloTop10; dbStats.SoloTop25 = fortniteResponse.SoloTop25; dbStats.SquadTop1 = fortniteResponse.SquadTop1; dbStats.SquadTop3 = fortniteResponse.SquadTop3; dbStats.SquadTop6 = fortniteResponse.SquadTop6; dbStats.Kills = fortniteResponse.Kills; dbStats.Kd = fortniteResponse.Kd; dbStats.Matches = fortniteResponse.Matches; dbStats.WinPercent = fortniteResponse.WinsPercent; dbStats.Wins = fortniteResponse.Wins; try { if (newStats) { _databaseContext.TFortnite.Add(dbStats); } else { _databaseContext.TFortnite.Update(dbStats); } await _databaseContext.SaveChangesAsync(); return(new GenericResponse <BooleanResponse>(new BooleanResponse { Success = true })); } catch (DbUpdateException e) { return(new GenericResponse <BooleanResponse>("Error while saving in cache", e)); } }