Пример #1
0
        public static Bitmap GetSummonerSpellIcon(int summonerSpellId)
        {
            if (SummonerSpellLocations == null)
            {
                SummonerSpellLocations = new Dictionary <Int32, String>();
                //SummonerSpellLocations
                String summonerSpellListJson;
                if (_apiRequest.Get("/lol-game-data/assets/v1/summoner-spells.json", out summonerSpellListJson))
                {
                    List <SummonerSpell> summonerSpellList = JsonHandler.LoadJson <List <SummonerSpell> >(summonerSpellListJson);
                    foreach (SummonerSpell summonerSpell in summonerSpellList)
                    {
                        if (!SummonerSpellLocations.ContainsKey(summonerSpell.id))
                        {
                            SummonerSpellLocations.Add(summonerSpell.id, summonerSpell.iconPath);
                        }
                    }
                }
                else
                {
                    return(PlaceholderIcon.Image);
                }
            }

            byte[] image;
            if (SummonerSpellLocations.ContainsKey(summonerSpellId))
            {
                if (_apiRequest.Get(SummonerSpellLocations[summonerSpellId], out image))
                {
                    return(Utility.LoadImage(image));
                }
            }

            return(PlaceholderIcon.Image);
        }
Пример #2
0
        public static Bitmap GetItemIcon(int itemId)
        {
            if (ItemLocations == null)
            {
                ItemLocations = new Dictionary <Int32, String>();
                //SummonerSpellLocations
                String itemListJson;
                if (_apiRequest.Get("/lol-game-data/assets/v1/items.json", out itemListJson))
                {
                    List <Item> itemList = JsonHandler.LoadJson <List <Item> >(itemListJson);
                    foreach (Item item in itemList)
                    {
                        if (!ItemLocations.ContainsKey(item.id))
                        {
                            ItemLocations.Add(item.id, item.iconPath);
                        }
                    }
                }
                else
                {
                    return(PlaceholderIcon.Image);
                }
            }

            byte[] image;
            if (ItemLocations.ContainsKey(itemId))
            {
                if (_apiRequest.Get(ItemLocations[itemId], out image))
                {
                    return(Utility.LoadImage(image));
                }
            }

            return(PlaceholderIcon.Image);
        }
Пример #3
0
        public static bool GetRegionLocale(out RegionLocale locale)
        {
            String response;

            locale = _apiRequest.Get("/riotclient/get_region_locale", out response)
                ? JsonHandler.LoadJson <RegionLocale>(response)
                : null;
            return(locale != null);
        }
Пример #4
0
        public static Bitmap GetChampionIcon(int championId)
        {
            byte[] image;
            if (_apiRequest.Get(String.Format("/lol-game-data/assets/v1/champion-icons/{0}.png", championId), out image))
            {
                return(Utility.LoadImage(image));
            }

            return(PlaceholderIcon.Image);
        }
Пример #5
0
        public static bool GetDefaultReplayPath(out String response)
        {
            if (_apiRequest.Get("/lol-replays/v1/rofls/path/default", out response))
            {
                response = response.Replace("\"", "");
                return(true);
            }

            return(false);
        }
Пример #6
0
        public async Task <ActionResult> _artistListPartial()
        {
            string url = string.Format("api/Artist/GetArtist");
            IEnumerable <Artist> result = await APIRequest <IEnumerable <Artist> > .Get(url);

            return(PartialView("_artistListPartial", result));
        }
Пример #7
0
        public async Task <ActionResult> _inventoryListPartial(string itemGUID, int cinemaID)
        {
            string             url    = string.Format("api/Inventory/GetInventoryListByItemGUID?itemGUID={0}", itemGUID);
            List <tbInventory> result = await APIRequest <List <tbInventory> > .Get(url);

            return(PartialView("_inventoryListPartial", result));
        }
Пример #8
0
        public async Task <ActionResult> _itemListPartial()
        {
            string url = string.Format("api/Item/GetItem");
            List <StockItemViewModel> result = await APIRequest <List <StockItemViewModel> > .Get(url);

            return(PartialView("_itemListPartial", result));
        }
Пример #9
0
        public void With_User_Agent()
        {
            var req = new APIRequest($"https://en.wikipedia.org/w/index.php?action=raw&title=pizza")
                      .WithUserAgent("HastyAPI/1.0 Example");

            var res = req.Get();
        }
Пример #10
0
        //_InsertStock
        public async Task <ActionResult> _InsertStock(int itemID)
        {
            string url    = string.Format("api/Item/GetItemByID?ID={0}", itemID);
            tbItem result = await APIRequest <tbItem> .Get(url);

            return(PartialView("_InventoryForm", result));
        }
Пример #11
0
        public async Task <ActionResult> _orderListPartial()
        {
            string url = string.Format("api/Order/GetOrder");
            IEnumerable <tbOrder> result = await APIRequest <IEnumerable <tbOrder> > .Get(url);

            return(PartialView("_orderListPartial", result));
        }
Пример #12
0
        public async Task <ActionResult> _stockListPartial()
        {
            string url = string.Format("api/Stock/GetStock");
            IEnumerable <tbStock> result = await APIRequest <IEnumerable <tbStock> > .Get(url);

            return(PartialView("_stockListPartial", result));
        }
Пример #13
0
        //_GetItemForStock
        public async Task <ActionResult> _GetItemForStock(int ID)
        {
            string url    = string.Format("api/Item/GetItemByID?ID={0}", ID);
            tbItem result = await APIRequest <tbItem> .Get(url);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #14
0
        //_GetItemForSearchForm
        public async Task <ActionResult> _ItemSearchForm(string code, int cinemaID)
        {
            string url = string.Format("api/Item/SearchItemByItemCode?code={0}&&cinemaID={1}", code, cinemaID);
            List <StockItemViewModel> searchItemList = await APIRequest <List <StockItemViewModel> > .Get(url);

            return(PartialView("_searchItemListPartial", searchItemList));
        }
Пример #15
0
        /// <summary>
        /// Mark this conversation as read or unread on the server.
        /// </summary>
        private void MarkReadConversation()
        {
            if (CIX.Online)
            {
                try
                {
                    string         url            = string.Format("personalmessage/{0}/{1}/toggleread", RemoteID, UnreadCount > 0);
                    HttpWebRequest request        = APIRequest.Get(url, APIRequest.APIFormat.XML);
                    string         responseString = APIRequest.ReadResponseString(request);

                    // Any non-exception response should treat the action as having completed. The two
                    // possible outcomes are either the message is marked read or the ID is invalid.
                    // The latter case cannot be re-tried so don't repeat the action.
                    Flags &= ~InboxConversationFlags.MarkRead;
                    lock (CIX.DBLock)
                    {
                        CIX.DB.Update(this);
                    }
                    if (responseString == "Success")
                    {
                        LogFile.WriteLine("Conversation {0} marked as read on server", RemoteID);
                    }
                }
                catch (Exception e)
                {
                    CIX.ReportServerExceptions("InboxConversation.MarkReadConversation", e);
                }
            }
        }
Пример #16
0
        public async Task <ActionResult> _orderDetailListPartialByVoucherCode(string voucherCode)
        {
            string url = string.Format("api/OrderDetail/GetOrderDetailByVoucherCode?voucherCode={0}", voucherCode);
            List <tbOrderDetail> result = await APIRequest <List <tbOrderDetail> > .Get(url);

            return(PartialView("_orderDetailListPartial", result));
        }
Пример #17
0
        //UpSertOrderDetail
        public async Task <ActionResult> UpSertOrderDetail(string items)
        {
            string        url    = string.Format("api/OrderDetail/UpsertOrderDetail?items={0}", items);
            tbOrderDetail result = await APIRequest <tbOrderDetail> .Get(url);

            return(PartialView("_OrderDetailForm", result));
        }
Пример #18
0
        public async Task <ActionResult> getArtistListData()
        {
            string url = string.Format("api/Artist/GetArtist");
            IEnumerable <Artist> result = await APIRequest <IEnumerable <Artist> > .Get(url);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #19
0
        public async Task <ActionResult> _orderListPartialByCinemaId(int cinemaID)
        {
            string         url       = string.Format("/api/Order/GetOrderByCinemaId?cinemaId={0}", cinemaID);
            List <tbOrder> orderList = await APIRequest <List <tbOrder> > .Get(url);

            return(PartialView("_orderListPartial", orderList));
        }
Пример #20
0
        public static bool GetGamePaths(out Solutions solutions)
        {
            String response;

            solutions = _apiRequest.Get("/patcher/v1/products/league_of_legends/paths", out response)
                ? JsonHandler.LoadJson <Solutions>(response)
                : null;
            return(solutions != null);
        }
Пример #21
0
        public static bool GetSession(out Session session)
        {
            String response;

            session = _apiRequest.Get("/lol-login/v1/session", out response)
                ? JsonHandler.LoadJson <Session>(response)
                : null;
            return(session != null);
        }
Пример #22
0
        /// <summary>
        /// Refresh this profile from the server.
        /// </summary>
        public void Refresh()
        {
            if (CIX.Online)
            {
                LogFile.WriteLine("Profile for {0} requested from server", Username);

                try
                {
                    // First get the basic profile information
                    string         profileUrl = Username == CIX.Username ? "user/profile" : "user/" + Username + "/profile";
                    HttpWebRequest request    = APIRequest.Get(profileUrl, APIRequest.APIFormat.XML);
                    Stream         objStream  = APIRequest.ReadResponse(request);
                    if (objStream != null)
                    {
                        using (XmlReader reader = XmlReader.Create(objStream))
                        {
                            XmlSerializer serializer = new XmlSerializer(typeof(ProfileSmall));
                            ProfileSmall  profileSet = (ProfileSmall)serializer.Deserialize(reader);

                            Location     = profileSet.Location;
                            FullName     = profileSet.Fname + " " + profileSet.Sname;
                            EMailAddress = profileSet.Email;
                            LastOn       = DateTime.Parse(profileSet.LastOn);
                            Sex          = profileSet.Sex;
                            Flags        = (NotificationFlags)profileSet.Flags;
                            lock (CIX.DBLock)
                            {
                                CIX.DB.Update(this);
                            }
                            LogFile.WriteLine("Profile for {0} updated from server", Username);
                        }
                    }

                    request = APIRequest.Get("user/" + Username + "/resume", APIRequest.APIFormat.XML);
                    string resumeText = APIRequest.ReadResponseString(request);

                    if (!string.IsNullOrEmpty(resumeText) && CIX.DB != null)
                    {
                        About = resumeText.UnescapeXml();
                        lock (CIX.DBLock)
                        {
                            CIX.DB.Update(this);
                        }

                        LogFile.WriteLine("Resume for {0} updated from server", Username);

                        CIX.ProfileCollection.NotifyProfileUpdated(this);
                    }
                }
                catch (Exception e)
                {
                    CIX.ReportServerExceptions("Profile.Refresh", e);
                }
                Debug.Flush();
            }
        }
Пример #23
0
        public void SuccessfulGetTest()
        {
            string url     = "https://www.google.com";
            var    request = new APIRequest(url);

            request.Get();

            Assert.IsTrue(request.Connected);
            Assert.IsNotNull(request.Response);
        }
Пример #24
0
        public static bool GetMatchHistoryUrl(out String response)
        {
            if (_apiRequest.Get("/lol-match-history/v1/web-url", out response))
            {
                response = response.Replace("\"", "");
                return(true);
            }

            return(false);
        }
Пример #25
0
        private CacheEntry PopulateFromEndpoint(AutoPopulateEndpoint endpoint = null)
        {
            var myMRE = GetManualResetEvent();

            try
            {
                myMRE.WaitOne();
                myMRE.Reset();

                endpoint = endpoint ?? GlobalSettings.AutoPopulateEndpoints.FirstOrDefault(x => x.authorization == Authorization && x.cacheKey == CacheKey);

                if (endpoint != null)
                {
                    var request = new APIRequest(endpoint.baseURL);
                    if (!string.IsNullOrWhiteSpace(endpoint.endpointAuthorizationKey))
                    {
                        request.AddHeader(endpoint.endpointAuthorizationKey, endpoint.endpointAuthorizationValue);
                    }

                    var result = request.Get <AutoPopulateResult>(endpoint.endpointMethod);

                    if (result.CacheSecondsOverride.HasValue && result.CacheSecondsOverride.Value >= 0)
                    {
                        CacheSeconds = result.CacheSecondsOverride.Value;
                    }
                    else if (endpoint.cacheLifespanSeconds.HasValue && endpoint.cacheLifespanSeconds.Value >= 0)
                    {
                        CacheSeconds = endpoint.cacheLifespanSeconds.Value;
                    }

                    object dataObj = GetDataObject(result.Data);

                    var entry = new CacheEntry(Authorization, CacheKey, dataObj, expirationSeconds: CacheSeconds);

                    lock (GenericMemLock)
                    {
                        var allKeys = GetAllKeys();
                        AddKeyToAllKeys(allKeys, entry);
                    }

                    MemoryCache.Set(GetAuthKey(CacheKey), entry, new MemoryCacheEntryOptions
                    {
                        AbsoluteExpirationRelativeToNow = CacheSeconds > 0 ? TimeSpan.FromSeconds(CacheSeconds) : (TimeSpan?)null
                    });

                    return(entry);
                }

                throw new Exception("cacheKey does not have a value");
            }
            finally
            {
                myMRE.Set();
            }
        }
Пример #26
0
        public static bool GetConfigSetting(String NameSpace, String Setting, out String response)
        {
            if (_apiRequest.Get(String.Format("/lol-platform-config/v1/namespaces/{0}/{1}", NameSpace, Setting),
                                out response))
            {
                response = response.Replace("\"", "");
                return(true);
            }

            return(false);
        }
Пример #27
0
        public void UnsuccessfulGetTest()
        {
            string url              = "https://api.tomorrow.io/v4/timelines";
            var    request          = new APIRequest(url);
            var    expectedResponse = "Site does not response";

            request.Get();

            Assert.IsFalse(request.Connected);
            Assert.IsNotNull(request.Response);
            Assert.AreEqual(request.Response, expectedResponse);
        }
Пример #28
0
        public void InvalidLinkGetTest()
        {
            string url              = "No valid link here";
            var    request          = new APIRequest(url);
            var    expectedResponse = "Invalid link";

            request.Get();

            Assert.IsFalse(request.Connected);
            Assert.IsNotNull(request.Response);
            Assert.AreEqual(request.Response, expectedResponse);
        }
Пример #29
0
        public SiteWeatherForecast GetCityWeatherForecast()
        {
            IRequest request  = new APIRequest(requestUrl);
            var      response = request.Get();

            if (response == null || !request.Connected || response == "Site does not response")
            {
                return(new SiteWeatherForecast(Name, response));
            }

            return(ParserWeatherData(response));
        }
Пример #30
0
        /// <summary>
        /// Execution task to retrieve a mugshot for the specified username from the server.
        /// </summary>
        public void Refresh()
        {
            if (CIX.Online)
            {
                LogFile.WriteLine("Mugshot for {0} requested from server", Username);

                try
                {
                    HttpWebRequest  request  = APIRequest.Get("user/" + Username + "/mugshot", APIRequest.APIFormat.XML);
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                    Stream responseStream = response.GetResponseStream();
                    if (responseStream != null)
                    {
                        byte[] imageBytes;

                        using (BinaryReader reader = new BinaryReader(responseStream))
                        {
                            imageBytes = reader.ReadBytes((int)response.ContentLength);
                        }

                        // Crop the user mugshot and scale it down so we're only storing a centered
                        // square of the required dimensions.
                        TypeConverter tc           = TypeDescriptor.GetConverter(typeof(Image));
                        Image         mugshotImage = (Image)tc.ConvertFrom(imageBytes);

                        mugshotImage = mugshotImage.ResizeImage(MaxMugshotWidth, MaxMugshotHeight);

                        ImageConverter converter = new ImageConverter();
                        imageBytes = (byte[])converter.ConvertTo(mugshotImage, typeof(byte[]));

                        Image        = imageBytes;
                        CreationTime = DateTime.Now;

                        lock (CIX.DBLock)
                        {
                            CIX.DB.Update(this);
                        }

                        Cache[Username] = this;

                        LogFile.WriteLine("Mugshot for {0} updated from server", Username);
                        CIX.NotifyMugshotUpdated(this);
                    }
                }
                catch (Exception e)
                {
                    CIX.ReportServerExceptions("Mugshot.Refresh", e);
                }
                Debug.Flush();
            }
        }