Beispiel #1
0
        public async Task <IHttpActionResult> GetPopulerList(int?page = null)
        {
            if (page.HasValue && page.Value <= 0)
            {
                return(BadRequest());
            }

            PopulerModel populerModel = await _eksiFeedService.GetPopulerList(page);

            return(Ok(populerModel));
        }
Beispiel #2
0
        public async Task <PopulerModel> GetPopulerList(int?page = null)
        {
            Uri uri = new Uri("https://eksisozluk.com/basliklar/populer");

            int currentPage = page ?? 1;

            uri = uri.AddParameter("_", DateTime.Now.Ticks.ToString())
                  .AddParameter("p", currentPage.ToString());

            var request = new HttpRequestMessage()
            {
                RequestUri = uri,
                Method     = HttpMethod.Get,
            };

            request.Headers.Add("X-Requested-With", "XMLHttpRequest");

            return(await BindHttpRequestMessage(request, htmlContent =>
            {
                List <PopulerTitleHeaderModel> populerTitleHeaderModels = _bindingComponent
                                                                          .Binder()
                                                                          .BindModelHtmlContent <PopulerTitleHeaderModel>(htmlContent,
                                                                                                                          model =>
                {
                    model.Title = model.Title.Substring(0, model.Title.Length - model.EntryCount.Length);
                }).ToList();

                PopulerModel populerModel = _bindingComponent
                                            .Binder()
                                            .BindModelHtmlContent <PopulerModel>(htmlContent).FirstOrDefault();

                // Pager ilk sayfada gelmiyor. 2. sayfadan itibaren geliyor.
                populerModel = populerModel ?? new PopulerModel()
                {
                    CurrentPage = "1", PageCount = "2"
                };

                populerModel.PopulerTitleHeaderModels = populerTitleHeaderModels;

                return populerModel;
            }));
        }