예제 #1
0
        public void SetUp()
        {
            DependencyRegistrar.RegisterDependencies();
            var autoMapperBootstrapper = new AutoMapperBootstrapper();

            autoMapperBootstrapper.Bootstrap();
            _resultCallQueuePollingAgent                  = IoC.Resolve <ICallQueuePollingAgent>();
            _upsellCallQueueService                       = IoC.Resolve <UpsellCallQueueService>();
            _callQueueCustomerHelper                      = IoC.Resolve <CallQueueCustomerHelper>();
            _confirmationCallQueueService                 = IoC.Resolve <ConfirmationCallQueueService>();
            _callQueueRepository                          = IoC.Resolve <ICallQueueRepository>();
            _easiestToConvertCallQueueService             = IoC.Resolve <IEasiestToConvertCallQueueService>();
            _fillEventsCallQueueService                   = IoC.Resolve <IFillEventsCallQueueService>();
            _systemGeneratedCallQueueCriteriaService      = IoC.Resolve <ISystemGeneratedCallQueueCriteriaService>();
            _systemGeneratedCallQueueAssignmentRepository = IoC.Resolve <ISystemGeneratedCallQueueAssignmentRepository>();
            _healthPlanCustomerPollingAgent               = IoC.Resolve <IHealthPlanIncorrectPhoneExportPollingAgent>();
            _rapsUploadFileParserPollingAgent             = IoC.Resolve <IRapsUploadFileParserPollingAgent>();
            // _logger = IoC.Resolve<ILogger>();
        }
예제 #2
0
        public CallUploadService(ILogManager logManager, ISettings settings, ICallUploadFileParserPollingAgent callUploadFileParserPollingAgent, IApplyRulesOnLockedCustomersPollingAgent applyRulesOnLockedCustomersPollingAgent
                                 , IExportableReportsPollingAgent exportableReportsPollingAgent, IDeleteExportableReportsPollingAgent deleteExportableReportsPollingAgent, IRapsUploadFileParserPollingAgent rapsUploadFileParserPollingAgent,
                                 IPhoneNumberUpdatePollingAgent phoneNumberUpdatePollingAgent, IMergeCustomerPollingAgent mergeCustomerPollingAgent, ITwilioMessagePollingAgent twilioMessagePollingAgent,
                                 IEligibilityUploadParsePollingAgent eligibilityUploadParsePollingAgent, IMedicationUploadFileParserPollingAgent medicationUploadFileParserPollingAgent,
                                 ICustomerActivityTypeUploadPollingAgent customerActivityTypeUploadPollingAgent)
        {
            InitializeComponent();

            _logger = logManager.GetLogger("Jobs.CallUploadService");

            _pollThreadCallUploadFileParser = new IntervalWorkThread(callUploadFileParserPollingAgent.PollForParsingCallUpload);
            _timerCallUploadFileParser      = new Timer(x => _pollThreadCallUploadFileParser.Trigger(), new object(), new TimeSpan(0, 0, 2, 0), new TimeSpan(0, 0, settings.CallUploadParserInterval, 0));

            _pollThreadApplyRulesOnLockedCustomers = new IntervalWorkThread(applyRulesOnLockedCustomersPollingAgent.PollForApplyRule);
            _timerApplyRulesOnLockedCustomers      = new Timer(x => _pollThreadApplyRulesOnLockedCustomers.Trigger(), new object(), new TimeSpan(0, 0, 2, 0), new TimeSpan(0, 12, settings.ApplyRulesOnLockedCustomersInterval, 0));

            _pollThreadExportableReports = new IntervalWorkThread(exportableReportsPollingAgent.PollForExportableRequest);
            _timerExportableReports      = new Timer(x => _pollThreadExportableReports.Trigger(), new object(), new TimeSpan(0, 0, 0, 0), new TimeSpan(0, 0, 2, 0));

            _pollThreaDeleteExportableReports = new IntervalWorkThread(deleteExportableReportsPollingAgent.DeleteReports);
            _timerDeleteExportableReports     = new Timer(x => _pollThreaDeleteExportableReports.Trigger(), new object(), new TimeSpan(0, 0, 0, 0), new TimeSpan(0, 6, 0, 0));

            _pollThreadRapsUploadFileParser = new IntervalWorkThread(rapsUploadFileParserPollingAgent.PollForParsingRapsUpload);
            _timerRapsUploadFileParser      = new Timer(x => _pollThreadRapsUploadFileParser.Trigger(), new object(), new TimeSpan(0, 0, 0, 0), new TimeSpan(0, 4, settings.RapsUploadParserInterval, 0));

            _pollThreadPhoneNumberUpdateUpload = new IntervalWorkThread(phoneNumberUpdatePollingAgent.PollForPhoneNumberUpdate);
            _timerPhoneNumberUpdateUpload      = new Timer(x => _pollThreadPhoneNumberUpdateUpload.Trigger(), new object(), GetDueTime(settings.PhoneNumberUpdateScheduleTime), new TimeSpan(0, settings.PhoneNumberUpdateIntervalHours, 0, 0));

            _pollMergeCustomerUpload  = new IntervalWorkThread(mergeCustomerPollingAgent.PollForMergeCustomerUpload);
            _timerMergeCustomerUpload = new Timer(x => _pollMergeCustomerUpload.Trigger(), new object(), new TimeSpan(0), new TimeSpan(0, 0, settings.MergeCustomerInterval, 0));

            _pollTwilioMessagePollingAgentThread = new IntervalWorkThread(twilioMessagePollingAgent.PollForTwilioResponse);
            _timerTwilioMessagePollingAgent      = new Timer(x => _pollTwilioMessagePollingAgentThread.Trigger(), new object(), new TimeSpan(0), new TimeSpan(0, 0, 0, 1));

            _pollEligibilityUploadAgentThread   = new IntervalWorkThread(eligibilityUploadParsePollingAgent.PollForParsingEligibilityUpload);
            _timerEligibilityUploadPollingAgent = new Timer(x => _pollEligibilityUploadAgentThread.Trigger(), new object(), new TimeSpan(0), new TimeSpan(0, 0, settings.EligibilityUploadIntervalMinutes, 0));

            _pollParsingMedicationUpload  = new IntervalWorkThread(medicationUploadFileParserPollingAgent.PollForParsingMedicationUpload);
            _timerParsingMedicationUpload = new Timer(x => _pollParsingMedicationUpload.Trigger(), new object(), new TimeSpan(0), new TimeSpan(0, 0, settings.MedicationFileParserIntervalMinute, 0));

            _pollCustomerActivityTypeUploadAgentThread   = new IntervalWorkThread(customerActivityTypeUploadPollingAgent.PollForParsingCustomerActivityTypeUpload);
            _timerCustomerActivityTypeUploadPollingAgent = new Timer(x => _pollCustomerActivityTypeUploadAgentThread.Trigger(), new object(), new TimeSpan(0), new TimeSpan(0, 0, settings.CustomerActivityTypeUploadIntervalMinutes, 0));
        }