/// <summary>
        /// Gets the description of the item by ID
        /// </summary>
        /// <param name="itemid"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public string GetItemDesc(WzDataCacheItemType type, int itemid, string defaultValue = null)
        {
            switch (type)
            {
            case WzDataCacheItemType.Cash:
                return(CashItemCache.ContainsKey(itemid) ? CashItemCache[itemid].Value : defaultValue);

            case WzDataCacheItemType.Eqp:
                return(EqpItemCache.ContainsKey(itemid) ? EqpItemCache[itemid].Value : defaultValue);

            case WzDataCacheItemType.Etc:
                return(EtcItemCache.ContainsKey(itemid) ? EtcItemCache[itemid].Value : defaultValue);

            case WzDataCacheItemType.Setup:
                return(SetupItemCache.ContainsKey(itemid) ? SetupItemCache[itemid].Value : defaultValue);

            case WzDataCacheItemType.Use:
                return(UseItemCache.ContainsKey(itemid) ? UseItemCache[itemid].Value : defaultValue);
            }
            return(defaultValue);
        }
        /// <summary>
        /// Lookup the database of items with a given search query
        /// </summary>
        /// <param name="type"></param>
        /// <param name="SearchQuery"></param>
        /// <param name="HexJumpList"></param>
        public void LookupItemNameDesc(WzDataCacheItemType type, string SearchQuery, Dictionary <int, KeyValuePair <string, string> > HexJumpList)
        {
            Dictionary <int, KeyValuePair <string, string> > LookupSource = null;

            switch (type)
            {
            case WzDataCacheItemType.Cash:
                LookupSource = CashItemCache;
                break;

            case WzDataCacheItemType.Eqp:
                LookupSource = EqpItemCache;
                break;

            case WzDataCacheItemType.Etc:
                LookupSource = EtcItemCache;
                break;

            case WzDataCacheItemType.Setup:
                LookupSource = SetupItemCache;
                break;

            case WzDataCacheItemType.Use:
                LookupSource = UseItemCache;
                break;
            }
            if (LookupSource != null)
            {
                SearchQuery = SearchQuery.ToLower();

                foreach (KeyValuePair <int, KeyValuePair <string, string> > item in LookupSource)
                {
                    KeyValuePair <string, string> val = item.Value;
                    if (val.Key.ToLower().Contains(SearchQuery) || val.Value.ToLower().Contains(SearchQuery))
                    {
                        HexJumpList.Add(item.Key, item.Value);
                    }
                }
            }
        }