コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LotteryCI"/> class
        /// </summary>
        /// <param name="eventSummary">The event summary</param>
        /// <param name="dataRouterManager">The <see cref="IDataRouterManager"/> used to obtain summary and fixture</param>
        /// <param name="semaphorePool">The semaphore pool</param>
        /// <param name="currentCulture">The current culture</param>
        /// <param name="defaultCulture">The default culture</param>
        /// <param name="fixtureTimestampCache">A <see cref="ObjectCache"/> used to cache the sport events fixture timestamps</param>
        public LotteryCI(LotteryDTO eventSummary,
                         IDataRouterManager dataRouterManager,
                         ISemaphorePool semaphorePool,
                         CultureInfo currentCulture,
                         CultureInfo defaultCulture,
                         ObjectCache fixtureTimestampCache)
            : base(eventSummary, dataRouterManager, semaphorePool, currentCulture, defaultCulture, fixtureTimestampCache)
        {
            Contract.Requires(eventSummary != null);
            Contract.Requires(currentCulture != null);

            Merge(eventSummary, currentCulture);
        }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LotteryCI"/> class
        /// </summary>
        /// <param name="eventSummary">The event summary</param>
        /// <param name="dataRouterManager">The <see cref="IDataRouterManager"/> used to obtain summary and fixture</param>
        /// <param name="semaphorePool">The semaphore pool</param>
        /// <param name="currentCulture">The current culture</param>
        /// <param name="defaultCulture">The default culture</param>
        /// <param name="fixtureTimestampCache">A <see cref="MemoryCache"/> used to cache the sport events fixture timestamps</param>
        public LotteryCI(LotteryDTO eventSummary,
                         IDataRouterManager dataRouterManager,
                         ISemaphorePool semaphorePool,
                         CultureInfo currentCulture,
                         CultureInfo defaultCulture,
                         MemoryCache fixtureTimestampCache)
            : base(eventSummary, dataRouterManager, semaphorePool, currentCulture, defaultCulture, fixtureTimestampCache)
        {
            Guard.Argument(eventSummary, nameof(eventSummary)).NotNull();
            Guard.Argument(currentCulture, nameof(currentCulture)).NotNull();

            Merge(eventSummary, currentCulture);
        }
コード例 #3
0
 /// <summary>
 /// Merges the specified event summary
 /// </summary>
 /// <param name="eventSummary">The event summary</param>
 /// <param name="culture">The culture</param>
 /// <param name="useLock">Should the lock mechanism be used during merge</param>
 public void Merge(LotteryDTO eventSummary, CultureInfo culture, bool useLock)
 {
     if (useLock)
     {
         lock (MergeLock)
         {
             Merge(eventSummary, culture);
         }
     }
     else
     {
         Merge(eventSummary, culture);
     }
 }
コード例 #4
0
        /// <summary>
        /// Merges the specified event summary
        /// </summary>
        /// <param name="eventSummary">The event summary</param>
        /// <param name="culture">The culture</param>
        private void Merge(LotteryDTO eventSummary, CultureInfo culture)
        {
            base.Merge(eventSummary, culture, false);

            if (_categoryId == null && eventSummary.Category != null)
            {
                _categoryId = eventSummary.Category.Id;
            }
            if (_bonusInfo == null && eventSummary.BonusInfo != null)
            {
                _bonusInfo = new BonusInfoCI(eventSummary.BonusInfo);
            }
            if (_drawInfo == null && eventSummary.DrawInfo != null)
            {
                _drawInfo = new DrawInfoCI(eventSummary.DrawInfo);
            }
            if (eventSummary.DrawEvents != null && eventSummary.DrawEvents.Any())
            {
                _scheduledDraws = eventSummary.DrawEvents.Select(s => s.Id);
            }
        }