コード例 #1
0
        public static void Run()
        {
            string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);

            // ExStart:AddWBSCodes
            Project proj = new Project();

            proj.WBSCodeDefinition = new WBSCodeDefinition();
            proj.WBSCodeDefinition.GenerateWBSCode  = true;
            proj.WBSCodeDefinition.VerifyUniqueness = true;
            proj.WBSCodeDefinition.CodePrefix       = "CRS-";

            WBSCodeMask mask = new WBSCodeMask();

            mask.Length    = 2;
            mask.Separator = "-";
            mask.Sequence  = WBSSequence.OrderedNumbers;
            proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);

            mask           = new WBSCodeMask();
            mask.Length    = 1;
            mask.Separator = "-";
            mask.Sequence  = WBSSequence.OrderedUppercaseLetters;
            proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);

            Task tsk   = proj.RootTask.Children.Add("Task 1");
            Task child = tsk.Children.Add("Task 2");

            proj.Recalculate();
            proj.Save(dataDir + @"AddWBSCodes_out.xml", SaveFileFormat.XML);
            // ExEnd:AddWBSCodes
        }
コード例 #2
0
        public void AddWbsSequence()
        {
            // ExStart:AddWbsSequence
            // ExFor: WBSSequence
            // ExSummary: Shows how to set WBS sequences.
            var project = new Project();

            project.WBSCodeDefinition = new WBSCodeDefinition();
            project.WBSCodeDefinition.GenerateWBSCode  = true;
            project.WBSCodeDefinition.VerifyUniqueness = true;
            project.WBSCodeDefinition.CodePrefix       = "CRS-";

            var mask = new WBSCodeMask();

            mask.Length    = 2;
            mask.Separator = "-";
            mask.Sequence  = WBSSequence.OrderedNumbers;
            project.WBSCodeDefinition.CodeMaskCollection.Add(mask);

            mask           = new WBSCodeMask();
            mask.Length    = 1;
            mask.Separator = "-";
            mask.Sequence  = WBSSequence.OrderedUppercaseLetters;
            project.WBSCodeDefinition.CodeMaskCollection.Add(mask);

            var tsk = project.RootTask.Children.Add("Task 1");

            tsk.Children.Add("Task 2");

            project.Recalculate();

            project.Save(OutDir + @"AddWBSCodes_out.xml", SaveFileFormat.XML);

            // ExEnd:AddWbsSequence
        }
コード例 #3
0
        public void CreateWbsCodeMask()
        {
            // ExStart:CreateWbsCodeMask
            // ExFor: WBSCodeMask
            // ExFor: WBSCodeMask.#ctor
            // ExFor: WBSCodeMask.Length
            // ExFor: WBSCodeMask.Level
            // ExFor: WBSCodeMask.Separator
            // ExFor: WBSCodeMask.Sequence
            // ExSummary: Shows how to create WBS code masks.
            var project = new Project();

            project.WBSCodeDefinition = new WBSCodeDefinition();
            project.WBSCodeDefinition.GenerateWBSCode  = true;
            project.WBSCodeDefinition.VerifyUniqueness = true;
            project.WBSCodeDefinition.CodePrefix       = "CRS-";

            var mask = new WBSCodeMask();

            mask.Length    = 2;
            mask.Separator = "-";
            mask.Sequence  = WBSSequence.OrderedNumbers;
            project.WBSCodeDefinition.CodeMaskCollection.Add(mask);

            mask           = new WBSCodeMask();
            mask.Length    = 1;
            mask.Separator = "-";
            mask.Sequence  = WBSSequence.OrderedUppercaseLetters;
            project.WBSCodeDefinition.CodeMaskCollection.Add(mask);

            var task = project.RootTask.Children.Add("Task 1");

            task.Children.Add("Task 2");

            project.Recalculate();

            Console.WriteLine("Number of WBS masks: " + project.WBSCodeDefinition.CodeMaskCollection.Count);
            var i = 0;

            foreach (var cm in project.WBSCodeDefinition.CodeMaskCollection)
            {
                Console.WriteLine("WBS Mask #{0}: Level->{1}", ++i, cm.Level);
            }

            project.Save(OutDir + @"AddWBSCodes_out.xml", SaveFileFormat.XML);

            // ExEnd:CreateWbsCodeMask
        }
コード例 #4
0
        public void WorkWithWbsCodeMaskCollection()
        {
            // ExStart
            // ExFor: WBSCodeMaskCollection
            // ExFor: WBSCodeMaskCollection.Add(WBSCodeMask)
            // ExFor: WBSCodeMaskCollection.Clear
            // ExFor: WBSCodeMaskCollection.Count
            // ExFor: WBSCodeMaskCollection.GetEnumerator
            // ExFor: WBSCodeMaskCollection.Remove(WBSCodeMask)
            // ExFor: WBSCodeMaskCollection.Contains(WBSCodeMask)
            // ExFor: WBSCodeMaskCollection.IsReadOnly
            // ExFor: WBSCodeMaskCollection.CopyTo(WBSCodeMask[],Int32)
            // ExFor: WBSCodeMaskCollection.ToList
            // ExSummary: Shows how to work with WBS code mask collection.
            var project = new Project();

            project.WBSCodeDefinition = new WBSCodeDefinition();
            project.WBSCodeDefinition.GenerateWBSCode  = true;
            project.WBSCodeDefinition.VerifyUniqueness = true;
            project.WBSCodeDefinition.CodePrefix       = "CRS-";

            project.WBSCodeDefinition.CodeMaskCollection.Clear();

            var mask1 = new WBSCodeMask();

            mask1.Length    = 2;
            mask1.Separator = "-";
            mask1.Sequence  = WBSSequence.OrderedNumbers;
            project.WBSCodeDefinition.CodeMaskCollection.Add(mask1);

            var mask2 = new WBSCodeMask();

            mask2.Length    = 1;
            mask2.Separator = "-";
            mask2.Sequence  = WBSSequence.OrderedUppercaseLetters;
            project.WBSCodeDefinition.CodeMaskCollection.Add(mask2);

            Console.WriteLine("WBS Code mask's count: " + project.WBSCodeDefinition.CodeMaskCollection.Count);
            Console.WriteLine("Is WBS Code mask collection read-only?: " + project.WBSCodeDefinition.CodeMaskCollection.IsReadOnly);
            Console.WriteLine("Masks: ");
            Console.WriteLine();
            foreach (var wbsMask in project.WBSCodeDefinition.CodeMaskCollection)
            {
                Console.WriteLine("Length: " + wbsMask.Length);
                Console.WriteLine("Level: " + wbsMask.Level);
                Console.WriteLine("Separator: " + wbsMask.Separator);
                Console.WriteLine("Sequence: " + wbsMask.Sequence);
                Console.WriteLine();
            }

            var task1 = project.RootTask.Children.Add("Task 1");

            task1.Children.Add("Task 2");

            project.Recalculate();

            IEnumerable <Task> childTasks = project.RootTask.SelectAllChildTasks();

            foreach (var childTask in childTasks)
            {
                Console.WriteLine("Task name: " + childTask.Get(Tsk.Name));
                Console.WriteLine("Task WBS code: " + childTask.Get(Tsk.WBS));
            }

            project.WBSCodeDefinition.CodeMaskCollection.Remove(mask2);

            if (project.WBSCodeDefinition.CodeMaskCollection.Contains(mask2))
            {
                throw new InvalidOperationException("WBS code mask wasn't removed.");
            }

            var otherProject = new Project();

            otherProject.WBSCodeDefinition = new WBSCodeDefinition();
            otherProject.WBSCodeDefinition.GenerateWBSCode  = true;
            otherProject.WBSCodeDefinition.VerifyUniqueness = true;
            otherProject.WBSCodeDefinition.CodePrefix       = "CRS-";

            // copy code masks to other project
            var masks = new WBSCodeMask[project.WBSCodeDefinition.CodeMaskCollection.Count];

            project.WBSCodeDefinition.CodeMaskCollection.CopyTo(masks, 0);

            foreach (var mask in masks)
            {
                otherProject.WBSCodeDefinition.CodeMaskCollection.Add(mask);
            }

            List <WBSCodeMask> wbsMasks = otherProject.WBSCodeDefinition.CodeMaskCollection.ToList();

            foreach (var wbsMask in wbsMasks)
            {
                Console.WriteLine("Length: " + wbsMask.Length);
                Console.WriteLine("Level: " + wbsMask.Level);
                Console.WriteLine("Separator: " + wbsMask.Separator);
                Console.WriteLine("Sequence: " + wbsMask.Sequence);
                Console.WriteLine();
            }

            var otherTask1 = project.RootTask.Children.Add("Other task 1");

            otherTask1.Children.Add("Other task 2");

            otherProject.Recalculate();

            Console.WriteLine("Print WBS codes of the other project: ");
            IEnumerable <Task> otherChildTasks = otherProject.RootTask.SelectAllChildTasks();

            foreach (var childTask in otherChildTasks)
            {
                Console.WriteLine("Task name: " + childTask.Get(Tsk.Name));
                Console.WriteLine("Task WBS code: " + childTask.Get(Tsk.WBS));
            }

            // ExEnd
        }