public ScheduleSmsForSendingLater(DateTime sendMessageAt, SmsData smsData, SmsMetaData smsMetaData, Guid coorelationId)
 {
     ScheduleMessageId = Guid.NewGuid();
     SendMessageAtUtc = sendMessageAt.ToUniversalTime();
     SmsData = smsData;
     SmsMetaData = smsMetaData;
     CorrelationId = coorelationId;
 }
 public ScheduleSmsForSendingLater(DateTime sendMessageAtUtc, SmsData smsData, SmsMetaData smsMetaData, Guid coorelationId, string username)
 {
     ScheduleMessageId = Guid.NewGuid();
     SendMessageAtUtc = sendMessageAtUtc;
     SmsData = smsData;
     SmsMetaData = smsMetaData;
     CorrelationId = coorelationId;
     Username = username;
 }
        public void TrickleMessagesMessagesPausedConfirmedButAlreadySentThrowsException_Data()
        {
            var messageList = new SmsData("99999", "dj;alsdfkj");

            var scheduleId = Guid.NewGuid();
            var messageSchedulePaused = new MessageSchedulePaused { ScheduleId = scheduleId };

            var scheduledMessageStatuses = new List<ScheduledMessageStatus>
            {
                new ScheduledMessageStatus(new ScheduleSmsForSendingLater { SmsData = messageList, ScheduleMessageId = scheduleId }, MessageStatus.Sent)
            };

            var sagaData = new CoordinateSmsSchedulingData { ScheduledMessageStatus = scheduledMessageStatuses, Id = Guid.NewGuid(), Originator = "o", OriginalMessageId = "i" };

            var coordinateSmsScheduler = new CoordinateSmsScheduler {Data = sagaData};
            Assert.That(() => coordinateSmsScheduler.Handle(messageSchedulePaused), Throws.Exception.With.Message.EqualTo("Scheduled message " + scheduleId + " is already sent."));
        }
 public ScheduleSmsForSendingLater()
 {
     SmsData = new SmsData(string.Empty, string.Empty);
     SmsMetaData = new SmsMetaData();
 }