Пример #1
0
        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");
        }
Пример #2
0
 public MailchimpRepository(MailchimpClient mailchimpClient,
                            IOptions <MailchimpConfiguration> mailchimpConfiguration)
 {
     _mailchimpClient = mailchimpClient;
     _marketingPermissionIdForEmail = mailchimpConfiguration.Value?.MarketingPermissionIdForEmail;
 }