Пример #1
0
        /// <summary>
        /// Gets the media instance by identifier.
        /// </summary>
        /// <param name="requiredNamespace">The required namespace.</param>
        /// <param name="locale">The locale.</param>
        /// <param name="instanceId">The creature identifier.</param>
        /// <returns></returns>
        public static async Task <RootMedia> GetMediaInstanceById(string requiredNamespace, string locale, int instanceId)
        {
            Console.WriteLine("Début de la recherche du media d'une instance via son ID");
            UriBuilder uriBuilder = new UriBuilder(baseURL);

            uriBuilder.Path = $"data/wow/media/journal-instance/" + instanceId.ToString();
            var query = HttpUtility.ParseQueryString(uriBuilder.Query);

            query["namespace"] = requiredNamespace;
            query["locale"]    = locale;
            uriBuilder.Query   = query.ToString();

            var request = AuthentificationRepoAPI.CreateHttpRequest(HttpMethod.Get, uriBuilder.Uri);

            var response = httpClient.SendAsync(request).Result;

            var content = await response.Content.ReadAsStringAsync();

            if (content != null)
            {
                RootMedia result = JsonConvert.DeserializeObject <RootMedia>(content);
                if (result != null)
                {
                    Console.WriteLine("Récupération du media de l'instance OK");
                    return(result);
                }
            }

            Console.WriteLine("Récupération du media de l'instance KO");
            return(null);
        }
        /*public override void RenderControl(HtmlTextWriter writer)
         * {
         *  /*var cache = FileCacheHelper.GetGenerateNavCache();
         *
         *  if(!cache.IsError)
         *  {
         *      var cacheData = cache.GetRawData<string>();
         *      writer.Write(cacheData);
         *  }
         *  else
         *  {
         *      System.IO.StringWriter str = new System.IO.StringWriter();
         *      HtmlTextWriter wrt = new HtmlTextWriter(str);
         *
         *      base.RenderControl(wrt);
         *
         *      string html = str.ToString();
         *
         *      //FileCacheHelper.SaveGenerateToNav(html);
         *
         *      writer.Write(html);
         *  }
         * }*/

        private void Bind(IEnumerable <IMediaDetail> items)
        {
            if (!IsBreadCrumbMenu)
            {
                if (!RenderHiddenPages)
                {
                    if (IsFooterMenu)
                    {
                        items = items.Where(i => i.RenderInFooter);
                    }
                    else
                    {
                        items = items.Where(i => i.ShowInMenu);
                    }
                }

                if (!renderHiddenMediaTypes)
                {
                    items = items.Where(i => i.MediaType.ShowInMenu);
                }

                items = items.OrderBy(i => i.Media.OrderIndex);

                if (renderRootMedia)
                {
                    var newlist = new List <IMediaDetail>();

                    var rootMediaDetail = RootMedia?.GetLiveMediaDetail();

                    if (rootMediaDetail != null)
                    {
                        newlist.Add(rootMediaDetail);
                    }

                    items = newlist.Concat(items);
                }
            }

            if (!RenderHiddenPages)
            {
                items = items.Where(i => i.ShowInMenu);
            }

            items = items.ToList();

            this.ItemsList.DataSource = items;
            this.ItemsList.DataBind();
        }