Пример #1
0
        /// <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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
            }
        }