public void StateMonitor(DataDefinition.IExecutor executor)
        {
            var themeRepository = Factory.CreateSweepstakeThemeRepository();

            foreach (var id in themeRepository.ListWaitToStartIds())
            {
                if (executor.RequestStop)
                {
                    continue;
                }
                using (Util.Locker.Lock(id))
                {
                    var theme = themeRepository.Get(id);
                    theme.Start();
                    themeRepository.Replace(theme);
                    Factory.GetUnitOfWork().Commit();
                }
            }

            foreach (var id in themeRepository.ListWaitToFinishIds())
            {
                if (executor.RequestStop)
                {
                    continue;
                }
                using (Util.Locker.Lock(id))
                {
                    var theme = themeRepository.Get(id);
                    theme.Finish();
                    themeRepository.Replace(theme);
                    Factory.GetUnitOfWork().Commit();
                }
            }
        }
Example #2
0
 public void StateMonitor(DataDefinition.IExecutor executor)
 {
     new Services.SweepstakeThemeService(Factory).StateMonitor(executor);
 }