コード例 #1
0
        static void Main(string[] args)
        {
            // Grab configuration
            var dynamicsHost = ConfigurationManager.AppSettings["DynamicsHost"].ToString();
            var dynamicsUsername = ConfigurationManager.AppSettings["DynamicsUsername"].ToString();
            var dynamicsPassword = ConfigurationManager.AppSettings["DynamicsPassword"].ToString();

            var govdeliveryHost = ConfigurationManager.AppSettings["GovDeliveryHost"].ToString();
            var govdeliveryKey = ConfigurationManager.AppSettings["GovDeliveryKey"].ToString();

            var dynamics = new DynamicsClient(dynamicsHost, dynamicsUsername, dynamicsPassword);
            var hub = new HubClient(govdeliveryHost, govdeliveryKey, dynamics);

            // Initialize connection information for hub
            hub.RetrieveConnectors().Wait();

            // Ensure that dynamics is properly setup for our use case
            dynamics.EnsureGovdeliveryPublisher();
            dynamics.EnsureEmailGovdeliveryField();
            dynamics.EnsureEmailMetadata();

            // Retrieve and send emails that are in "Pending Send"
            var emails = dynamics.RetrievePendingEmails(hub.GetEmailForPolling());
            hub.SendEmails(emails).Wait();

            // Push analytics data back into dynamics
            hub.UpdateEmailStatuses().Wait();
        }
コード例 #2
0
        public void TestRetrieveConnectorsWithDynamicsEmailConnector()
        {
            var fakeResponseHandler = new FakeHttpMessageHandler(connectorResponse("Connectors::DynamicsEmail"));
            var fakeHttpClient = new HttpClient(fakeResponseHandler);
            fakeHttpClient.BaseAddress = new Uri("https://blah.test.com");

            var mockClient = new Mock<IDynamicsClient>();
            var hubClient = new HubClient("https://blah.test.com", "blah", mockClient.Object);
            var hubConnection = hubClient.GetType().GetField("connection", BindingFlags.NonPublic | BindingFlags.Instance);
            hubConnection.SetValue(hubClient, fakeHttpClient);

            hubClient.RetrieveConnectors().Wait();

            var dynamicsValue = getPrivateValue(typeof(HubClient), hubClient, "dynamics");
            Assert.IsNotNull(dynamicsValue);
        }