protected virtual void SetBaseProperties(SignalDispatch <TKey> dispatch, EventSettings <TKey> settings, SignalEvent <TKey> signalEvent, Subscriber <TKey> subscriber) { dispatch.EventSettingsId = settings.EventSettingsId; dispatch.DispatchTemplateId = DispatchTemplateId; dispatch.MachineName = signalEvent.MachineName; dispatch.ApplicationName = signalEvent.ApplicationName; dispatch.DeliveryType = DeliveryType; dispatch.CategoryId = settings.Subscription.CategoryId; dispatch.TopicId = signalEvent.TopicId ?? settings.Subscription.TopicId; dispatch.ReceiverSubscriberId = subscriber.SubscriberId; dispatch.ReceiverAddress = subscriber.Address; dispatch.ScheduleSet = ScheduleSet; dispatch.IsScheduled = false; dispatch.CreateDateUtc = signalEvent.CreateDateUtc; dispatch.SendDateUtc = DateTime.UtcNow; dispatch.FailedAttempts = 0; dispatch.Language = subscriber.Language ?? string.Empty; if (settings.ConsolidatorId != null) { dispatch.TemplateData = signalEvent.TemplateDataObj == null ? JsonConvert.SerializeObject(signalEvent.TemplateDataDict) : signalEvent.TemplateDataObj; } }
public abstract void Update(SignalDispatch <TKey> item, TemplateData templateData);