/// <summary>
 /// Create a new notification queue work item
 /// </summary>
 public NotificationQueueWorkItem(Core.ComponentModel.RegistrationEvent evt, Configuration.ActionType actionType)
 {
     // TODO: Complete member initialization
     this.Event  = evt;
     this.Action = actionType;
 }
        /// <summary>
        /// Create a message based on the parameters
        /// </summary>
        internal Everest.Interfaces.IInteraction CreateMessage(Core.ComponentModel.RegistrationEvent registrationEvent, Configuration.ActionType actionType, TargetConfiguration configuration)
        {
            // Determine the action that was taken
            switch (actionType)
            {
            case Configuration.ActionType.Create:
                return(CreatePatientRegistryRecordAddedMessage(registrationEvent, configuration));

            case Configuration.ActionType.Update:
                return(CreatePatientRegistryRecordRevisedMessage(registrationEvent, configuration));

            case Configuration.ActionType.DuplicatesResolved:
                return(CreatePatientRegistryDuplicatesResolvedMessage(registrationEvent, configuration));

            default:
                return(null);
            }
        }