예제 #1
0
 public CohortRulesProcessor(ICareMemberCohortRuleFactory cf, IContactEndpointUtil ceu, ICohortRuleUtil cohortRuleUtil, ILogger logger)
 {
     QueueProcessorRunning         = false;
     _cohortRuleUtil               = cohortRuleUtil;
     _cohortRuleCheckDataTeamQueue = new ConcurrentQueue <CohortRuleCheckData>();
     _logger = logger;
     CareMemberCohortRuleFactory = cf;
     EndpointUtil = ceu;
     _queuEvent   = new AutoResetEvent(false);
     _exitEvent   = new ManualResetEvent(false);
     wHandles     = new WaitHandle[]
     {
         _queuEvent,
         _exitEvent
     };
     queueLock = new object();
 }
예제 #2
0
        public UnAssignedPCMRule(IContactEndpointUtil contactEndpointUtil, ILogger logger, ICohortRuleUtil cohortRuleUtil)
        {
            if (contactEndpointUtil == null)
            {
                throw new ArgumentNullException("contactEndpointUtil");
            }

            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            if (cohortRuleUtil == null)
            {
                throw new ArgumentNullException("cohortRuleUtil");
            }

            _contactEndpointUtil = contactEndpointUtil;
            _logger         = logger;
            _cohortRuleUtil = cohortRuleUtil;
        }
 public EngageCareMemberCohortRuleFactory(IContactEndpointUtil contactEndpointUtil, ILogger logger, ICohortRuleUtil cohortRuleUtil)
 {
     _contactEndpointUtil = contactEndpointUtil;
     _logger         = logger;
     _cohortRuleUtil = cohortRuleUtil;
 }