示例#1
0
 public void Handle(ScheduleCreated message)
 {
     using (var session = RavenDocStore.GetStore().OpenSession(RavenDocStore.Database()))
     {
         var scheduleTrackingData = session.Load <ScheduleTrackingData>(message.ScheduleId.ToString());
         if (scheduleTrackingData == null)
         {
             var scheduleTracker = new ScheduleTrackingData
             {
                 CoordinatorId   = message.CorrelationId,
                 MessageStatus   = MessageStatus.Scheduled,
                 ScheduleId      = message.ScheduleId,
                 SmsData         = message.SmsData,
                 SmsMetaData     = message.SmsMetaData,
                 ScheduleTimeUtc = message.ScheduleTimeUtc,
                 ScheduleType    = ScheduleType.Sms
             };
             session.Store(scheduleTracker, message.ScheduleId.ToString());
         }
         else
         {
             scheduleTrackingData.MessageStatus = MessageStatus.Scheduled;
         }
         session.SaveChanges();
     }
 }
示例#2
0
 private void Handle(ScheduleCreated @event)
 {
     this.PointInTime = Map.Event(@event).ToValueObject <PointInTime>();
 }