public static FortniteStatsResponse ConvertToResponse(this TFortnite fortniteDbStats) { if (fortniteDbStats == null) { return(null); } FortniteStatsResponse fortniteResponse = new FortniteStatsResponse { SoloTop1 = fortniteDbStats.SoloTop1, SoloTop10 = fortniteDbStats.SoloTop10, SoloTop25 = fortniteDbStats.SoloTop25, DuoTop1 = fortniteDbStats.DuoTop1, DuoTop5 = fortniteDbStats.DuoTop5, DuoTop12 = fortniteDbStats.DuoTop12, SquadTop1 = fortniteDbStats.SquadTop1, SquadTop3 = fortniteDbStats.SquadTop3, SquadTop6 = fortniteDbStats.SquadTop6, Kd = fortniteDbStats.Kd, Kills = fortniteDbStats.Kills, Matches = fortniteDbStats.Matches, Wins = fortniteDbStats.Wins, WinsPercent = fortniteDbStats.WinPercent }; return(fortniteResponse); }
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)); } }
public static FortniteStatsResponse ConvertFromApiResponse(this FortniteResponse fortniteResponse) { var fortniteStatsResponse = new FortniteStatsResponse(); fortniteStatsResponse.DuoTop1 = Int32.Parse(fortniteResponse.Stats.p10.Top1.Value); fortniteStatsResponse.DuoTop5 = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Top 5s")?.Value); fortniteStatsResponse.DuoTop12 = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Top 12s")?.Value); fortniteStatsResponse.SoloTop1 = Int32.Parse(fortniteResponse.Stats.p2.Top1.Value); fortniteStatsResponse.SoloTop25 = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Top 25s")?.Value); fortniteStatsResponse.SquadTop1 = Int32.Parse(fortniteResponse.Stats.p9.Top1.Value); fortniteStatsResponse.SquadTop3 = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Top 3s")?.Value); fortniteStatsResponse.SquadTop6 = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Top 6s")?.Value); fortniteStatsResponse.Kills = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Kills")?.Value); fortniteStatsResponse.Kd = float.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == @"K/d")?.Value, CultureInfo.InvariantCulture.NumberFormat); fortniteStatsResponse.Matches = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Matches Played")?.Value); fortniteStatsResponse.WinsPercent = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == @"Win%")?.Value.Split('%')[0]); fortniteStatsResponse.Wins = Int32.Parse(fortniteResponse.LifeTimeStats.FirstOrDefault(i => i.Key == "Wins")?.Value); return(fortniteStatsResponse); }