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); }
public async Task <IHttpActionResult> GetDebeList() { DebeModel debeModel = await _eksiFeedService.GetDebeList(); return(Ok(debeModel)); }