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); } }
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; }