/// <summary> /// Get ads from wcf service for the following date range: January 1st, 2011 and April 1st, 2011 /// </summary> /// <returns></returns> private async Task <IEnumerable <Ad> > GetAllAdsFromServiceAsync() { var client = new AdDataServiceClient(); var tasks = new List <Task <Ad[]> >(); var start = new DateTime(2011, 1, 1); var end = new DateTime(2011, 4, 1); while (start < end) { DateTime taskStart = start; DateTime taskEnd = start.AddMonths(1); Task <Ad[]> task = client.GetAdDataByDateRangeAsync(taskStart, taskEnd); tasks.Add(task); start = taskEnd; } Ad[][] whenAllResult = await Task.WhenAll(tasks.ToArray()); IEnumerable <Ad> ads = whenAllResult.SelectMany(ad => ad); client.Close(); return(ads); }
public async Task <ActionResult> GetAds() { IEnumerable <Ad> ads; using (var svc = new AdDataServiceClient()) { ads = await svc.GetAdDataByDateRangeAsync(_startDate, _endDate); ads = ads.OrderBy(x => x.Brand.BrandName); } return(Json(ads, JsonRequestBehavior.AllowGet)); }
public async Task <IQueryable <Ad> > GetAll() { try { var service = new AdDataServiceClient(); var data = await service.GetAdDataByDateRangeAsync(StartDate, EndDate); return(data.AsQueryable()); } catch (Exception exception) { throw new WcfServiceException(exception); } }