public void Run(string customDataJson) { m_customerRepository.SyncShadowCustomers(); m_log.Info("Starting synchronization of customers from ERP"); foreach (var erp in m_erpClientFactory.GetAllErpClients()) { var erpCustomerModels = erp.LoadCustomers().ToList(); if (!erpCustomerModels.Any()) { continue; } m_customerRepository.SyncCustomers(erpCustomerModels); } m_log.Info("Newsletter subscribers sync from MailChimp:"); var mc = new MailchimpClient(); var subscribers = Task.Run(() => mc.GetMembersSubscriptionStatus(m_mcConfig, m_log)).Result; m_log.Info($"Received {subscribers.Count} of newsletter subscribers info"); m_customerRepository.UpdateNewsletterSubscribersList("Mailchimp", subscribers); //m_log.Info($"Obtaining subscribers missing in the Mailchimp but subscribed on web:"); //var toSubscribe = m_customerRepository.GetSubscribersToSync("Mailchimp"); }
public MailchimpRepository(MailchimpClient mailchimpClient, IOptions <MailchimpConfiguration> mailchimpConfiguration) { _mailchimpClient = mailchimpClient; _marketingPermissionIdForEmail = mailchimpConfiguration.Value?.MarketingPermissionIdForEmail; }