Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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();
            }
        }