public static JobServiceConfiguration FromAppConfig()
 {
     try
     {
         var configuration = new JobServiceConfiguration
         {
             //add variables from appconfig
             ImageHostingServiceUrl                     = ConfigurationManager.AppSettings["IMAGE_HOSTING_SERVICE_URL"] ?? "",
             RetryMaxHours                              = int.Parse((ConfigurationManager.AppSettings["RetryMaxHours"]) ?? "0"),
             MailTesterUrl                              = ConfigurationManager.AppSettings["MailTesterURL"] ?? "",
             NeverBounceApiUrl                          = ConfigurationManager.AppSettings["NeverBounce_API_URL"] ?? "",
             NeverBounceCsvFiles                        = ConfigurationManager.AppSettings["NeverBounce_CSV_Files"] ?? "",
             NeverBounceCsvurl                          = ConfigurationManager.AppSettings["NeverBounce_CSV_URL"] ?? "",
             NeverBounceResults                         = ConfigurationManager.AppSettings["NeverBounce_Results"] ?? "",
             NeverBounceUpdateEmail                     = ConfigurationManager.AppSettings["NeverBounce_Update_Email"] ?? "",
             EmailTemplatesPhysicalPath                 = ConfigurationManager.AppSettings["EMAILTEMPLATES_PHYSICAL_PATH"] ?? "",
             NightlyReportPhysicalPath                  = ConfigurationManager.AppSettings["NIGHTLYREPORT_PHYSICAL_PATH"] ?? "",
             NightlyReportedEmails                      = ConfigurationManager.AppSettings["NIGHTLY_REPORTED_EMAILS"] ?? "",
             SupportEmailId                             = ConfigurationManager.AppSettings["SUPPORT_EMAILID"] ?? "",
             MailDeliveryProcessPath                    = ConfigurationManager.AppSettings["MAIL_DELIVERY_PROCESS_PATH"] ?? "",
             MailFeedbackLoopDeliverProcessPath         = ConfigurationManager.AppSettings["MAIL_FEEDBACKLOOP_DELIVER_PROCESS_PATH"] ?? "",
             MailDeliveryProcessArchivePath             = ConfigurationManager.AppSettings["MAIL_DELIVERY_PROCESS_ARCHIVE_PATH"] ?? "",
             MailFeedbackLoopDeliveryProcessArchivePath = ConfigurationManager.AppSettings["MAIL_FEEDBACKLOOP_DELIVER_PROCESS_ARCHIVE_PATH"] ?? "",
             DiagActiveDirectory                        = ConfigurationManager.AppSettings["DIAG_ACTIVE_DIRECTORY"] ?? "",
             FblActiveDirectory                         = ConfigurationManager.AppSettings["FBL_ACTIVE_DIRECTORY"] ?? "",
             FtpArchivePath                             = ConfigurationManager.AppSettings["FTP_ARCHIVE_PATH"] ?? "",
             SmarttouchPartnerKey                       = ConfigurationManager.AppSettings["SMARTTOUCH_PARTNER_KEY"] ?? "0",
             IndexChunkSize                             = int.Parse(ConfigurationManager.AppSettings["INDEX_CHUNK_SIZE"] ?? "0"),
             SplitVisitInterval                         = short.Parse(ConfigurationManager.AppSettings["SPLIT_VISIT_INTERVAL"] ?? "0"),
             IncludeCurrentDayInDailySummary            = bool.Parse(ConfigurationManager.AppSettings["INCLUDE_CURRENT_DAY_IN_DAILY_SUMMARY"] ?? "false"),
             LimitusBaseUrl                             = ConfigurationManager.AppSettings["LITMUS_BASE_URL"] ?? "",
             Ikey = ConfigurationManager.AppSettings["iKey"],
             RescheduleMinutes       = int.Parse(ConfigurationManager.AppSettings["RescheduleMinutes"] ?? "0"),
             WorkflowActionChunkSize = int.Parse(ConfigurationManager.AppSettings["WorkflowActionChunkSize"] ?? "10"),
         };
         return(configuration);
     }
     catch (Exception ex)
     {
         throw new ApplicationException("Invalid settings in app.config", ex);
     }
 }
Пример #2
0
        public static void Configure(Container container)
        {
            var config = JobServiceConfiguration.FromAppConfig();

            container.Register(() => config, Lifestyle.Singleton);

            container.Register <IUnitOfWork, DatabaseUnitOfWork>(Lifestyle.Singleton);
            container.Register <IActionService, ActionService>();
            container.Register <IActionRepository, ActionRepository>();
            container.Register <IUserRepository, UserRepository>();
            container.Register <IUserService, UserService>();
            container.Register <IContactService, ContactService>();
            container.Register <ITagService, TagService>();
            container.Register <IAccountService, AccountService>();
            container.Register <IImportDataService, ImportDataService>();
            container.Register <ITourService, TourService>();
            container.Register <INoteService, NoteService>();
            container.Register <IObjectContextFactory, ObjectContextFactory>();
            container.Register <IContactRepository, ContactRepository>();
            container.Register <ITagRepository, TagRepository>();
            container.Register <IAccountRepository, AccountRepository>();
            container.Register <ITourRepository, TourRepository>();
            container.Register <INoteRepository, NoteRepository>();
            container.Register <IRoleService, RoleService>();
            container.Register <IRoleRepository, RoleRepository>();
            container.Register <ISubscriptionRepository, SubscriptionRepository>();
            container.Register <IReportService, ReportService>();
            container.Register <IReportRepository, ReportRepository>();
            container.Register <IMailGunService, MailGunService>();

            container.Register <ITagViewModel, TagViewModel>();
            container.Register <IAccountViewModel, AccountViewModel>();
            container.Register <ITourViewModel, TourViewModel>();
            container.Register <ICommunicationTrackerViewModel, CommunicationTrackerViewModel>();
            container.Register <ICommunicationRepository, CommunicationRepository>();
            container.Register <ICommunicationService, CommunicationService>();

            container.Register <IAttachmentViewModel, AttachmentViewModel>();
            container.Register <IAttachmentRepository, AttachmentRepository>();
            container.Register <IAttachmentService, AttachmentService>();
            container.Register <IUserSettingsRepository, UserSettingsRepository>();
            container.Register <IUserActivitiesRepository, UserActivitiesRepository>();

            container.Register <ICampaignViewModel, CampaignViewModel>();
            container.Register <ICampaignRepository, CampaignRepository>();
            container.Register <ICampaignService, CampaignService>();

            container.Register <IFormService, FormService>();
            container.Register <IFormRepository, FormRepository>();
            container.Register <IFormSubmissionRepository, FormSubmissionRepository>();

            container.Register <ICustomFieldRepository, CustomFieldRepository>();
            container.Register <ICustomFieldService, CustomFieldService>();

            container.Register <IServiceProviderViewModel, ServiceProviderViewModel>();
            container.Register <ICommunicationProviderService, CommunicationProviderService>();
            container.Register <IServiceProviderRepository, ServiceProviderRepository>();
            container.Register <IUrlService, UrlService>();

            container.Register <ILeadAdapterService, LeadAdapterService>();
            container.Register <ILeadAdaptersRepository, LeadAdaptersRepository>();
            container.Register <ILeadAdaptersJobLogsRepository, LeadAdapterJobLogsRepository>();
            container.Register <ILeadScoreViewModel, LeadScoreViewModel>();
            container.Register <ILeadScoreService, LeadScoreService>();
            container.Register <ILeadScoreRuleService, LeadScoreRuleService>();
            container.Register <ILeadScoreRepository, LeadScoreRepository>();
            container.Register <ILeadScoreRuleViewModel, LeadScoreRuleViewModel>();
            container.Register <ILeadScoreRuleRepository, LeadScoreRuleRepository>();

            container.Register <IDropdownRepository, DropdownRepository>();
            container.Register <IDropdownValuesService, DropdownValuesService>();
            container.Register <IImportDataRepository, ImportDataRepository>();

            container.Register <IOpportunitiesService, OpportunityService>();
            container.Register <IOpportunityRepository, OpportunityRepository>();
            container.Register <IAdvancedSearchService, AdvancedSearchService>();
            container.Register <IAdvancedSearchRepository, AdvancedSearchRepository>();
            container.Register <ICachingService, CachingService>();
            container.Register <IGeoService, GeoService>();
            container.Register <IIndexingService, IndexingService>();
            container.Register <IMessageQueuingService, MessageQueuingService>();
            container.Register <IContactEmailAuditRepository, ContactEmailAuditRepository>();
            container.Register <IContactTextMessageAuditRepository, ContactTextMessageAuditRepository>();
            container.Register <IContactRelationshipRepository, ContactRelationshipRepository>();
            container.Register <IContactRelationshipService, ContactRelationshipService>();
            container.RegisterConditional(typeof(ISearchService <>), typeof(SearchService <>), c => !c.Handled);
            container.Register <IPublishSubscribeService, PublishSubscribeService>();
            container.Register <IWebAnalyticsProviderService, WebAnalyticsProviderService>();
            container.Register <IWebAnalyticsProviderRepository, WebAnalyticsProviderRepository>();
            container.Register <IImageService, ImageService>();
            container.Register <ISocialIntegrationService, SocialIntegrationService>();
            container.Register <IWorkflowService, WorkflowService>();
            container.Register <IWorkflowRepository, WorkflowRepository>();
            container.Register <IMessageService, MessageService>();
            container.Register <IMessageRepository, MessageRepository>();
            container.Register <IFindSpamService, FindSpamService>();
            container.Register <ISuppressionListService, SuppressionListService>();
            container.Register <ISuppressionListRepository, SuppressionListRepository>();
            container.Register <JobService, JobService>();
            container.Register <IKickfireService>(() => new KickfireService(config.SmarttouchPartnerKey));

            container.Register <WorkflowActionJob>();
            container.Register <ApiLeadSubmissionJob>();
            container.Register <BulkOperationJob>();
            container.Register <IndexJob>();
            container.Register <FormSubmissionJob>();
            container.Register <CampaignJob>();
            container.Register <CampaignMailTesterJob>();
            container.Register <LitmusTestJob>();
            container.Register <AutomationCampaignJob>();
            container.Register <SmartSearchJob>();
            container.Register <FileReadJob>();
            container.Register <FtpJob>();
            container.Register <NeverBounceFileJob>();
            container.Register <NeverBouncePollingJob>();
            container.Register <NeverBounceResultsJob>();
            container.Register <LeadScoreJob>();
            container.Register <WebAnalyticsKickfireJob>();
            container.Register <WebVisitDailySummaryJob>();
            container.Register <WebVisitEmailNotifierJob>();
            container.Register <BouncedMailDataJob>();
            container.Register <DailySummaryEmailJob>();
            container.Register <NightlyScheduledDeliverabilityReportJob>();
            container.Register <LeadJob>();
            container.Register <ApiManager>();
            container.Register <MailService>();
            container.Register <EmailValidator>();

            container.Register <CampaignProcessorJob>();
            container.Register <CampaignSendJob>();

            Container = container;
        }