/// <summary>
        /// Add a Participant to the Assignment Board Hierarchy.
        /// </summary>
        /// <param name="hierarchy"></param>
        /// <param name="participantConfiguration"></param>
        /// <returns></returns>
        public static MovilizerParticipantConfiguration AddParticipantToHierarchy(List<Group> hierarchy, MovilizerParticipantConfiguration participantConfiguration)
        {
            participantConfiguration.attributeUpdate = new MovilizerAttributeEntry[] { GetParticipantAttributeUpdateFromGroupString(hierarchy) };
            foreach (Group group in hierarchy)
            {
                MovilizerParticipantGroup participantGroup = new MovilizerParticipantGroup();
                participantGroup.name = group.id;
                if (participantConfiguration.groupAdd == null)
                {
                    participantConfiguration.groupAdd = new MovilizerParticipantGroup[] { participantGroup };
                }
                else
                {
                    var temp = participantConfiguration.groupAdd.ToList();
                    temp.Add(participantGroup);
                    participantConfiguration.groupAdd = temp.ToArray();
                }
            }

            return participantConfiguration;
        }
        /// <summary>
        /// Add a Participant to the Assignment Board Hierarchy.
        /// </summary>
        /// <param name="hierarchy"></param>
        /// <param name="participantConfiguration"></param>
        /// <returns></returns>
        public static MovilizerParticipantConfiguration AddParticipantToHierarchy(List <Group> hierarchy, MovilizerParticipantConfiguration participantConfiguration)
        {
            participantConfiguration.attributeUpdate = new MovilizerAttributeEntry[] { GetParticipantAttributeUpdateFromGroupString(hierarchy) };
            foreach (Group group in hierarchy)
            {
                MovilizerParticipantGroup participantGroup = new MovilizerParticipantGroup();
                participantGroup.name = group.id;
                if (participantConfiguration.groupAdd == null)
                {
                    participantConfiguration.groupAdd = new MovilizerParticipantGroup[] { participantGroup };
                }
                else
                {
                    var temp = participantConfiguration.groupAdd.ToList();
                    temp.Add(participantGroup);
                    participantConfiguration.groupAdd = temp.ToArray();
                }
            }

            return(participantConfiguration);
        }
 public ParticipantConfigurationTemplate(MovilizerParticipantConfiguration participantConfiguration)
 {
     _participantConfiguration = SerializeHelper.CloneObject(participantConfiguration);
     _attributeUpdates         = new List <MovilizerAttributeEntry>(_participantConfiguration.attributeUpdate);
 }
 public void EnqueueParticipantConfiguration(MovilizerParticipantConfiguration participantConfiguration)
 {
     _outQueue.Enqueue(participantConfiguration);
 }
 public void EnqueueParticipantConfiguration(MovilizerParticipantConfiguration participantConfiguration)
 {
     _outQueue.Enqueue(participantConfiguration);
 }
 public ParticipantConfigurationTemplate(MovilizerParticipantConfiguration participantConfiguration)
 {
     _participantConfiguration = SerializeHelper.CloneObject(participantConfiguration);
     _attributeUpdates = new List<MovilizerAttributeEntry>(_participantConfiguration.attributeUpdate);
 }