예제 #1
0
        public void Execute(IJobExecutionContext context)
        {
            Settings settings = (Settings)context.MergedJobDataMap["settings"];

            try
            {
                UnityContainer container = (UnityContainer)context.MergedJobDataMap["unityContainer"];

                var resolver   = new BbCouponsResolver(new HtmlWeb());
                var couponRepo = container.Resolve <ICouponRepository>();

                context.RescheduleJob(settings.ResolveMinInterval, settings.ResolveMaxInterval);

                List <Coupon>        couponsInPlay   = couponRepo.GetCouponsInPlay().ToList();
                IEnumerable <Coupon> resolvedCoupons = resolver.ResolveCoupons(couponsInPlay);

                couponRepo.UpdateCoupons(resolvedCoupons);
            }
            catch (JobExecutionException ex)
            {
                var logger = LogManager.GetLogger("errors");
                logger.Info($"Exception : {ex}");
                throw;
            }
        }
예제 #2
0
 public void SetUp()
 {
     resolver = new BbCouponsResolver(new HtmlWeb());
 }