public ActivityTrackingLocation(string activityTypeName)
 {
     this._conditions = new TrackingConditionCollection();
     this._events = new List<ActivityExecutionStatus>();
     if (activityTypeName == null)
     {
         throw new ArgumentNullException("activityTypeName");
     }
     this._activityName = activityTypeName;
 }
 public ActivityTrackingLocation(Type activityType)
 {
     this._conditions = new TrackingConditionCollection();
     this._events = new List<ActivityExecutionStatus>();
     if (null == activityType)
     {
         throw new ArgumentNullException("activityType");
     }
     this._activityType = activityType;
 }
 public ActivityTrackingLocation(Type activityType, IEnumerable<ActivityExecutionStatus> executionStatusEvents)
 {
     this._conditions = new TrackingConditionCollection();
     this._events = new List<ActivityExecutionStatus>();
     if (null == activityType)
     {
         throw new ArgumentNullException("activityType");
     }
     if (executionStatusEvents == null)
     {
         throw new ArgumentNullException("executionStatusEvents");
     }
     this._activityType = activityType;
     this._events.AddRange(executionStatusEvents);
 }
 public ActivityTrackingLocation(string activityTypeName, bool matchDerivedTypes, IEnumerable<ActivityExecutionStatus> executionStatusEvents)
 {
     this._conditions = new TrackingConditionCollection();
     this._events = new List<ActivityExecutionStatus>();
     if (activityTypeName == null)
     {
         throw new ArgumentNullException("activityTypeName");
     }
     if (executionStatusEvents == null)
     {
         throw new ArgumentNullException("executionStatusEvents");
     }
     this._activityName = activityTypeName;
     this._trackDerived = matchDerivedTypes;
     this._events.AddRange(executionStatusEvents);
 }
        public void RefreshConditionsDropDown()
        {
            conditionsDropDown.DropDownItems.Clear();
            conditionsDropDown.DropDownItems.Add("Add new condition...");
            TrackingConditionCollection conditions = profileManager.GetTrackingConditions(SelectedActivity);

            if (conditions != null)
            {
                conditionsDropDown.DropDownItems.Add(new ToolStripSeparator());
                foreach (ActivityTrackingCondition condition in conditions)
                {
                    ToolStripButton button = new ToolStripButton();
                    button.Name = button.Text = string.Format("{0} {1} {2}", condition.Member, condition.Operator == ComparisonOperator.Equals ? "==" : "!=", condition.Value);
                    button.Tag  = condition;
                    conditionsDropDown.DropDownItems.Add(button);
                }
            }
        }
        private void CreateConditions(XmlReader reader, TrackingConditionCollection conditions)
        {
            if (null == reader)
                throw new ArgumentNullException("reader");

            if (null == conditions)
                throw new ArgumentNullException("conditions");

            if (0 != string.Compare("Conditions", reader.Name, StringComparison.Ordinal))
                throw new TrackingProfileDeserializationException(ExecutionStringManager.TrackingDeserializationInvalidPosition + "Conditions.");

            if (reader.IsEmptyElement)
                return;

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element:
                        if (0 == string.Compare(reader.Name, "ActivityTrackingCondition", StringComparison.Ordinal))
                        {
                            ActivityTrackingCondition condition = new ActivityTrackingCondition();
                            CreateCondition(reader, condition);
                            conditions.Add(condition);
                        }
                        //
                        // Xsd validation will catch unknown elements

                        break;
                    case XmlNodeType.EndElement:
                        if (0 == string.Compare(reader.Name, "Conditions", StringComparison.Ordinal))
                            return;
                        break;
                }
            }
            //
            // Only valid exit is on an EndElement that matches the element that is passed in.
            throw new TrackingProfileDeserializationException(ExecutionStringManager.TrackingDeserializationCloseElementNotFound + "Conditions.");
        }
        private void WriteConditions(TrackingConditionCollection conditions, XmlTextWriter writer)
        {
            if ((null == conditions) || (0 == conditions.Count))
                return;

            writer.WriteStartElement("Conditions");

            foreach (TrackingCondition c in conditions)
            {
                if (null != c)
                    WriteCondition(c, writer);
            }

            writer.WriteEndElement();
        }
 public ActivityTrackingLocation()
 {
     this._conditions = new TrackingConditionCollection();
     this._events = new List<ActivityExecutionStatus>();
 }
        private void CreateConditions(XmlReader reader, TrackingConditionCollection conditions)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }
            if (conditions == null)
            {
                throw new ArgumentNullException("conditions");
            }
            if (string.Compare("Conditions", reader.Name, StringComparison.Ordinal) != 0)
            {
                throw new TrackingProfileDeserializationException(ExecutionStringManager.TrackingDeserializationInvalidPosition + "Conditions.");
            }
            if (!reader.IsEmptyElement)
            {
                while (true)
                {
                    if (!reader.Read())
                    {
                        throw new TrackingProfileDeserializationException(ExecutionStringManager.TrackingDeserializationCloseElementNotFound + "Conditions.");
                    }
                    switch (reader.NodeType)
                    {
                        case XmlNodeType.Element:
                            if (string.Compare(reader.Name, "ActivityTrackingCondition", StringComparison.Ordinal) == 0)
                            {
                                ActivityTrackingCondition condition = new ActivityTrackingCondition();
                                this.CreateCondition(reader, condition);
                                conditions.Add(condition);
                            }
                            break;

                        case XmlNodeType.EndElement:
                            if (string.Compare(reader.Name, "Conditions", StringComparison.Ordinal) == 0)
                            {
                                return;
                            }
                            break;
                    }
                }
            }
        }
 private void WriteConditions(TrackingConditionCollection conditions, XmlTextWriter writer)
 {
     if ((conditions != null) && (conditions.Count != 0))
     {
         writer.WriteStartElement("Conditions");
         foreach (TrackingCondition condition in conditions)
         {
             if (condition != null)
             {
                 this.WriteCondition(condition, writer);
             }
         }
         writer.WriteEndElement();
     }
 }
 public UserTrackingLocation(Type argumentType, Type activityType)
 {
     this._conditions = new TrackingConditionCollection();
     this._argType = argumentType;
     this._activityType = activityType;
 }
 public UserTrackingLocation(string argumentTypeName, string activityTypeName)
 {
     this._conditions = new TrackingConditionCollection();
     this._argName = argumentTypeName;
     this._activityName = activityTypeName;
 }
 public UserTrackingLocation()
 {
     this._conditions = new TrackingConditionCollection();
 }