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(); } }
private void Handle(ScheduleCreated @event) { this.PointInTime = Map.Event(@event).ToValueObject <PointInTime>(); }