Esempio n. 1
0
        public void RunService()
        {
            try
            {
                _refreshTokenTimer.Start();

                var publications            = _bulkEmailRepository.GetPublications(_token);
                var publicationOperationIds = new Dictionary <MpBulkEmailPublication, List <string> >();

                foreach (var publication in publications)
                {
                    PullSubscriptionStatusChangesFromThirdParty(publication);

                    var pageViewIds = _bulkEmailRepository.GetPageViewIds(_token, publication.PublicationId);
                    var subscribers = _bulkEmailRepository.GetSubscribers(_token, publication.PublicationId, pageViewIds);

                    var operationIds = CreateAndSendBatches(publication, subscribers);
                    publicationOperationIds.Add(publication, operationIds);
                }

                ProcessSynchronizationResultsWithRetries(publicationOperationIds);
            }
            finally
            {
                _refreshTokenTimer.Stop();
            }
        }
        private string GetPublicationId(string token, string publicationName)
        {
            var    publications  = _bulkEmailRepository.GetPublications(token);
            string publicationId = publications.First(r => r.Title == publicationName).ThirdPartyPublicationId;

            return(publicationId);
        }