public IActionResult Index() { using (SRCalculatorContext db = new SRCalculatorContext()) { List <Player> players = db.Players.ToList(); int targetSR = 2350; int playerCount = players.Count(); double averageSR = Math.Round(db.Players.Select(x => x.SR).Average(), 0); ViewBag.AverageSR = averageSR; ViewBag.TargetSR = targetSR; ViewBag.MaxNewSR = Math.Abs((averageSR * playerCount) - (targetSR * (playerCount + 1))); return(View(players)); } }
public void Execute() { string serviceDomain = "http://overwatchy.com"; string serviceURL = "/profile/pc/us/{0}"; using (SRCalculatorContext db = new SRCalculatorContext()) { RestClient client = GetClient(serviceDomain); List <Player> players = db.Players.ToList(); foreach (Player player in players) { string friendlyUsername = player.Username.Replace("#", "-"); string serviceCall = string.Format(serviceURL, friendlyUsername); RestRequest request = GetRequest(serviceCall, Method.GET); IRestResponse response = client.Execute(request); if (response.IsSuccessful) { try { OverwatchAPIResponse apiResponse = JsonConvert.DeserializeObject <OverwatchAPIResponse>(response.Content); db.Update(player); player.PrivateProfile = apiResponse.isPrivate; player.SR = apiResponse.competitive.rank; player.RankImage = apiResponse.competitive.rank_img; } catch (Exception ex) { player.PrivateProfile = true; } } } db.SaveChanges(); } }