public static void Run()
        {
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);

            // ExStart:ReadGroupDefinitionData
            Project project = new Project(dataDir + "ReadGroupDefinitionData.mpp");

            Console.WriteLine("Task Groups Count: " + project.TaskGroups.Count);
            Group taskGroup = project.TaskGroups.ToList()[1];

            Console.WriteLine("Group Name:", taskGroup.Name);
            Console.WriteLine("Group Criteria count: " + taskGroup.GroupCriteria.Count);
            Console.WriteLine("\n************* Retrieving Task Group's Criterion information *************");
            GroupCriterion criterion = taskGroup.GroupCriteria.ToList()[0];

            Console.WriteLine("Criterion Field: " + criterion.Field.ToString());
            Console.WriteLine("Criterion GroupOn: " + criterion.GroupOn.ToString());
            Console.WriteLine("Criterion Cell Color: " + criterion.CellColor);
            Console.WriteLine("Criterion Pattern: " + criterion.Pattern.ToString());

            if (taskGroup == criterion.ParentGroup)
            {
                Console.WriteLine("Parent Group is equval to task Group.");
            }

            Console.WriteLine("\n*********** Retreivnig Criterion's Font Information ***********");
            Console.WriteLine("Font Name: " + criterion.Font.Name);
            Console.WriteLine("Font Size: " + criterion.Font.Size);
            Console.WriteLine("Font Style: " + criterion.Font.Style);
            Console.WriteLine("Ascending/Dscending: " + criterion.Ascending);
            // ExEnd:ReadGroupDefinitionData
        }
Ejemplo n.º 2
0
        public void WorkWithGroupCriterionCollection()
        {
            // ExStart:WorkWithGroupCriterionCollection
            // ExFor: GroupCriterionCollection
            // ExFor: GroupCriterionCollection.Add(GroupCriterion)
            // ExFor: GroupCriterionCollection.Clear
            // ExFor: GroupCriterionCollection.Contains(GroupCriterion)
            // ExFor: GroupCriterionCollection.CopyTo(GroupCriterion[],Int32)
            // ExFor: GroupCriterionCollection.Count
            // ExFor: GroupCriterionCollection.GetEnumerator
            // ExFor: GroupCriterionCollection.IsReadOnly
            // ExFor: GroupCriterionCollection.ParentGroup
            // ExFor: GroupCriterionCollection.Remove(GroupCriterion)
            // ExFor: GroupCriterionCollection.ToList
            // ExSummary: Shows how to work with a collection of group criterion.
            var project = new Project(DataDir + "ReadGroupDefinitionData.mpp");

            var group = project.TaskGroups.ToList()[0];

            // iterate over group criterion
            Console.WriteLine("Print group criteria of {0} group: ", group.GroupCriteria.ParentGroup.Name);
            Console.WriteLine("Group criterion count: " + group.GroupCriteria.Count);
            foreach (var criterion in group.GroupCriteria)
            {
                Console.WriteLine("Index: " + criterion.Index);
                Console.WriteLine("Field: " + criterion.Field);
                Console.WriteLine("Group On: " + criterion.GroupOn);
                Console.WriteLine();
            }

            group.GroupCriteria.Clear();

            if (!group.GroupCriteria.IsReadOnly)
            {
                List <GroupCriterion> groupCriteria = group.GroupCriteria.ToList();
                foreach (var criterion in groupCriteria)
                {
                    group.GroupCriteria.Remove(criterion);
                }
            }

            var criterionToAdd = new GroupCriterion
            {
                Ascending = true,
                Field     = Field.TaskActive
            };

            if (!group.GroupCriteria.Contains(criterionToAdd))
            {
                group.GroupCriteria.Add(criterionToAdd);
            }

            // copy criteria to other group
            var otherGroup = project.TaskGroups.ToList()[0];

            var criteria = new GroupCriterion[group.GroupCriteria.Count];

            group.GroupCriteria.CopyTo(criteria, 0);
            foreach (var criterion in criteria)
            {
                otherGroup.GroupCriteria.Add(criterion);
            }

            // ExEnd:WorkWithGroupCriterionCollection
        }