Exemple #1
0
        //
        // POST: MySummoners
        public ActionResult DeleteSummoner(Summoner summoner)
        {
            using (var database = new SumonnerDbContext())
            {
                var summonerToDel = database.Summoners
                                    .Where(u => u.SummonerName == summoner.SummonerName)
                                    .First();

                database.Summoners.Remove(summonerToDel);
                database.SaveChanges();

                return(Redirect("/Search/MySummoners"));
            }
        }
Exemple #2
0
        // GET: MySummoners
        public ActionResult MySummoners()
        {
            using (var database = new SumonnerDbContext())
            {
                //Get this.User Id
                var userId = database.Users
                             .Where(u => u.UserName == this.User.Identity.Name)
                             .First().Id;

                //Get saved summoners from the database
                var summoners = database.Summoners
                                .Where(u => u.OwnerId == userId)
                                .ToList();

                return(View(summoners));
            }
        }
Exemple #3
0
        public ActionResult AddSummoner(Summoner summoner)
        {
            if (ModelState.IsValid)
            {
                using (var database = new SumonnerDbContext())
                {
                    // Get ownerId
                    var ownerId = database.Users
                                  .Where(u => u.UserName == this.User.Identity.Name)
                                  .First()
                                  .Id;

                    // Set ownerId
                    summoner.OwnerId = ownerId;

                    database.Summoners.Add(summoner);
                    database.SaveChanges();

                    return(Redirect("/Search/MySummoners"));
                }
            }
            return(View(summoner));
        }
Exemple #4
0
        public ActionResult SearchResult(Summoner summoner)
        {
            server    = summoner.Server;
            champName = summoner.SummonerName;
            //
            string output = "";
            string apiKey = "?api_key=RGAPI-83bc4cd9-c0d4-4fa3-a0a9-775ea5edc1e1";
            string Url    =
                $"https://{server}.api.pvp.net/api/lol/{server}/v1.4/summoner/by-name/{champName}{apiKey}";

            bool hasRes = false;

            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri(Url);

            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = client.GetAsync(apiKey).Result;

            if (response.IsSuccessStatusCode)
            {
                hasRes = true;
            }

            if (hasRes)
            {
                JObject dataObjects = response.Content.ReadAsAsync <JObject>().Result;
                //string result = dataObjects.ToString(Newtonsoft.Json.Formatting.None);
                //Console.WriteLine(result);
                foreach (JProperty property in dataObjects.Properties())
                {
                    output += (property.Name + property.Value + System.Environment.NewLine);
                }

                if (output.Length > 0)
                {
                    string[] splitNameBody = output.Split('{').ToArray();
                    string   username      = splitNameBody[0];
                    string   bodyTemp      = splitNameBody[1];
                    string[] bodyArgs      = bodyTemp
                                             .Split(new[] { ',', ':' }, StringSplitOptions.RemoveEmptyEntries)
                                             .Where(x => !string.IsNullOrWhiteSpace(x))
                                             .Select(s => s.Trim())
                                             .Select(s => s.Trim('"', '}'))
                                             .ToArray();



                    Dictionary <string, string> dic = new Dictionary <string, string>();
                    for (int i = 0; i < bodyArgs.Length - 1; i += 2)
                    {
                        dic.Add(bodyArgs[i], bodyArgs[i + 1]);
                    }

                    // MillisecondsToDate
                    foreach (var kvp in dic)
                    {
                        if (kvp.Key == "revisionDate")
                        {
                            long     timeInMs = long.Parse(kvp.Value);
                            DateTime revDate  = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                            revDate      = revDate.AddMilliseconds(timeInMs);
                            revDate      = revDate.ToLocalTime();
                            dic[kvp.Key] = revDate.ToString(@"dd\/MM\/yyyy HH:mm");
                            break;
                        }
                    }

                    // UrlForImg
                    string imgUrl = "http://ddragon.leagueoflegends.com/cdn/6.5.1/img/profileicon/";
                    int    imgNum = 0;
                    foreach (var kvp in dic)
                    {
                        if (kvp.Key == "profileIconId")
                        {
                            imgUrl += kvp.Value + ".png";
                            imgNum += int.Parse(kvp.Value);
                        }
                    }

                    long sumonID = 0;
                    foreach (var kvp in dic)
                    {
                        if (kvp.Key == "id")
                        {
                            sumonID += long.Parse(kvp.Value);
                        }
                    }

                    using (var database = new SumonnerDbContext())
                    {
                        // Get ownerId
                        if (User.Identity.IsAuthenticated)
                        {
                            var ownerId = database.Users
                                          .Where(u => u.UserName == this.User.Identity.Name)
                                          .First()
                                          .Id;
                            bool summExist = database.Summoners.Any(t => t.SummonerID == sumonID && t.OwnerId == ownerId);
                            ViewBag.sumEx = summExist;
                        }
                    }


                    // Output
                    summoner.ProfileIconID = imgNum;
                    summoner.SummonerID    = sumonID;

                    ViewBag.ImgSrc   = imgUrl;
                    ViewBag.Username = username + ":";
                    ViewBag.Data     = dic;
                }
                return(View(summoner));
            }
            else
            {
                return(Redirect("/Search/NoSummonerFound"));
            }
        }