Exemple #1
0
        public async Task <DebeModel> GetDebeList()
        {
            DebeModel debeModel = new DebeModel
            {
                CurrentPage = "1",
                PageCount   = "1"
            };

            IEnumerable <DebeTitleHeaderModel> debeTitleHeaderModels = await _bindingComponent
                                                                       .Binder()
                                                                       .WithUrl("https://eksisozluk.com/debe")
                                                                       .WithQueryString(new KeyValuePair <string, string>("_", DateTime.Now.Ticks.ToString()))
                                                                       .WithHeader(new KeyValuePair <string, string>("X-Requested-With", "XMLHttpRequest"))
                                                                       .BindModel <DebeTitleHeaderModel>(model =>
            {
                string decodedUrl = WebUtility.UrlDecode(model.Link);
                string entryId    = decodedUrl.Split('#')[1];

                model.EntryId = entryId;
            });

            // TODO : @deniz buradaki işlemin async await mimarisine uygun şekilde BindModel'in içerisinde yapılması gerekiyor.
            var titleHeaderModels = debeTitleHeaderModels as IList <DebeTitleHeaderModel> ?? debeTitleHeaderModels.ToList();

            IEnumerable <Task> entryTasks = titleHeaderModels.Select(model =>
            {
                return(RunWithErrorHandling(async() =>
                {
                    EntryDetailModel entryDetailModel = await GetEntryById(model.EntryId);
                    model.DebeEntryDetailModel = entryDetailModel;
                }));
            });

            await Task.WhenAll(entryTasks);

            debeModel.DebeTitleHeaderModels = titleHeaderModels.ToList();

            return(debeModel);
        }
Exemple #2
0
        public async Task <IHttpActionResult> GetDebeList()
        {
            DebeModel debeModel = await _eksiFeedService.GetDebeList();

            return(Ok(debeModel));
        }