public void CreateMessage(QueuedEmailMessage message) { var id = 0; _sqlObjectFactory.GetConnection().Using(connection => id = Convert.ToInt32( connection.Command("INSERT INTO pf_QueuedEmailMessage (FromEmail, FromName, ToEmail, ToName, Subject, Body, HtmlBody, QueueTime) VALUES (@FromEmail, @FromName, @ToEmail, @ToName, @Subject, @Body, @HtmlBody, @QueueTime)") .AddParameter("@FromEmail", message.FromEmail) .AddParameter("@FromName", message.FromName) .AddParameter("@ToEmail", message.ToEmail) .AddParameter("@ToName", message.ToName) .AddParameter("@Subject", message.Subject) .AddParameter("@Body", message.Body) .AddParameter("@HtmlBody", message.HtmlBody.GetObjectOrDbNull()) .AddParameter("@QueueTime", message.QueueTime) .ExecuteAndReturnIdentity())); if (id == 0) { throw new Exception("MessageID was not returned from creation of a QueuedEmailMessage."); } var payload = new EmailQueuePayload { MessageID = id, EmailQueuePayloadType = EmailQueuePayloadType.FullMessage }; WriteMessageToEmailQueue(payload); }
protected void WriteMessageToEmailQueue(EmailQueuePayload payload) { var serializedPayload = JsonConvert.SerializeObject(payload); _sqlObjectFactory.GetConnection().Using(connection => connection.Execute("INSERT INTO pf_EmailQueue (Payload) VALUES (@Payload)", new { Payload = serializedPayload })); }
public async Task Enqueue(EmailQueuePayload payload) { var serializedPayload = JsonConvert.SerializeObject(payload); var message = new CloudQueueMessage(serializedPayload); var queue = await GetQueue(); await queue.AddMessageAsync(message); }
public void Enqueue(EmailQueuePayload payload) { var serializedPayload = JsonConvert.SerializeObject(payload); var message = new CloudQueueMessage(serializedPayload); var queue = GetQueue().Result; queue.AddMessageAsync(message); }
protected void WriteMessageToEmailQueue(EmailQueuePayload payload) { var serializedPayload = JsonConvert.SerializeObject(payload); _sqlObjectFactory.GetConnection().Using(connection => connection.Command("INSERT INTO pf_EmailQueue (Payload) VALUES (@Payload)") .AddParameter("@Payload", serializedPayload) .ExecuteNonQuery()); }
public void CreateAndQueueEmail(QueuedEmailMessage queuedEmailMessage) { var id = _queuedEmailMessageRepository.CreateMessage(queuedEmailMessage); var tenantID = _tenantService.GetTenant(); var payload = new EmailQueuePayload { MessageID = id, EmailQueuePayloadType = EmailQueuePayloadType.FullMessage, TenantID = tenantID }; _emailQueueRepository.Enqueue(payload); }
public void CreateMessage(QueuedEmailMessage message) { var id = 0; _sqlObjectFactory.GetConnection().Using(connection => id = connection.QuerySingle <int>("INSERT INTO pf_QueuedEmailMessage (FromEmail, FromName, ToEmail, ToName, Subject, Body, HtmlBody, QueueTime) VALUES (@FromEmail, @FromName, @ToEmail, @ToName, @Subject, @Body, @HtmlBody, @QueueTime);SELECT CAST(SCOPE_IDENTITY() as int)", new { message.FromEmail, message.FromName, message.ToEmail, message.ToName, message.Subject, message.Body, message.HtmlBody, message.QueueTime })); if (id == 0) { throw new Exception("MessageID was not returned from creation of a QueuedEmailMessage."); } var payload = new EmailQueuePayload { MessageID = id, EmailQueuePayloadType = EmailQueuePayloadType.FullMessage }; WriteMessageToEmailQueue(payload); }
public void CreateAndQueueEmailCallsEmailQueueWithCorrectPayload() { var service = GetService(); var messageID = 123; var message = new QueuedEmailMessage(); _queuedEmailMessageRepo.Setup(x => x.CreateMessage(message)).Returns(messageID); var tenantID = "t1"; _tenantService.Setup(x => x.GetTenant()).Returns(tenantID); var payload = new EmailQueuePayload(); _emailQueueRepo.Setup(x => x.Enqueue(It.IsAny <EmailQueuePayload>())).Callback <EmailQueuePayload>(p => payload = p); service.CreateAndQueueEmail(message); Assert.Equal(messageID, payload.MessageID); Assert.Equal(EmailQueuePayloadType.FullMessage, payload.EmailQueuePayloadType); Assert.Equal(tenantID, payload.TenantID); }
public async Task Enqueue(EmailQueuePayload payload) { var serializedPayload = JsonConvert.SerializeObject(payload); await _sqlObjectFactory.GetConnection().UsingAsync(connection => connection.ExecuteAsync("INSERT INTO pf_EmailQueue (Payload) VALUES (@Payload)", new { Payload = serializedPayload })); }