Пример #1
0
        public void SetResourceExtendedAttributes()
        {
            try
            {
                // ExStart:SetResourceExtendedAttributes
                // ExFor: Resource.ExtendedAttributes
                // ExSummary: Shows how to add resource extended attributes.
                var project = new Project(DataDir + "ResourceExtendedAttributes.mpp");

                // Define extended attribute
                var definition = project.ExtendedAttributes.GetById((int)ExtendedAttributeTask.Number1);
                if (definition == null)
                {
                    definition = ExtendedAttributeDefinition.CreateResourceDefinition(ExtendedAttributeResource.Number1, "Age");
                    project.ExtendedAttributes.Add(definition);
                }

                // Create extended attribute and set its value
                var attribute = definition.CreateExtendedAttribute();
                attribute.NumericValue = 30.5345m;

                // Add a new resource and its extended attribute
                var resource = project.Resources.Add("R1");
                resource.ExtendedAttributes.Add(attribute);

                project.Save(OutDir + "ResourceExtendedAttributes_out.mpp", SaveFileFormat.MPP);

                // ExEnd:SetResourceExtendedAttributes
            }
            catch (NotSupportedException ex)
            {
                Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http://www.aspose.com/purchase/default.aspx.");
            }
        }
        public static void Run()
        {
            // The path to the documents directory.
            string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);

            //ExStart: AddExtendedAttributesToResourceAssignment
            // Create new project
            Project project = new Project(dataDir + "Blank2010.mpp");

            // Add new task and resource
            Task     task1 = project.RootTask.Children.Add("Task");
            Resource rsc1  = project.Resources.Add("Rsc");

            // Assign the resource to the desired task
            ResourceAssignment assignment = project.ResourceAssignments.Add(task1, rsc1);

            // Custom attributes which is visible in "Resource Usage" view can be created with ExtendedAttributeDefinition.CreateResourceDefinition method.
            {
                ExtendedAttributeDefinition resCostAttributeDefinition = ExtendedAttributeDefinition.CreateResourceDefinition(
                    CustomFieldType.Cost,
                    ExtendedAttributeResource.Cost5,
                    "My cost");

                project.ExtendedAttributes.Add(resCostAttributeDefinition);

                var value = resCostAttributeDefinition.CreateExtendedAttribute();

                // The type of the attribute is "Cost", so we need to use "NumericValue" property.
                value.NumericValue = 1500;

                assignment.ExtendedAttributes.Add(value);
            }

            // Custom attributes which is visible in "Task Usage" view can be created with ExtendedAttributeDefinition.CreateTaskDefinition method
            {
                ExtendedAttributeDefinition taskCostAttributeDefinition = ExtendedAttributeDefinition.CreateTaskDefinition(
                    CustomFieldType.Cost,
                    ExtendedAttributeTask.Cost5,
                    "My cost for task");

                project.ExtendedAttributes.Add(taskCostAttributeDefinition);

                var value = taskCostAttributeDefinition.CreateExtendedAttribute();

                // The type of the attribute is "Cost", so we need to use "NumericValue" property.
                value.NumericValue = 2300;

                assignment.ExtendedAttributes.Add(value);
            }

            project.Save(dataDir + "AddExtendedAttributesToResourceAssignment_out.mpp", SaveFileFormat.MPP);
            //ExEnd: AddExtendedAttributesToResourceAssignment
        }
Пример #3
0
        public static void Run()
        {
            try
            {
                // The path to the documents directory.
                string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);

                //ExStart:SetResourceExtendedAttributes
                // Create project instance
                Project project1 = new Project(dataDir + "ResourceExtendedAttributes.mpp");

                // Define extended attribute
                ExtendedAttributeDefinition myNumber1 = project1.ExtendedAttributes.GetById((int)ExtendedAttributeTask.Number1);
                if (myNumber1 == null)
                {
                    myNumber1 = ExtendedAttributeDefinition.CreateResourceDefinition(ExtendedAttributeResource.Number1, "Age");
                    project1.ExtendedAttributes.Add(myNumber1);
                }

                // Create extended attribute and set its value
                ExtendedAttribute number1Resource = myNumber1.CreateExtendedAttribute();
                number1Resource.NumericValue = 30.5345m;

                // Add a new resource and its extended attribute
                Resource rsc = project1.Resources.Add("R1");
                rsc.ExtendedAttributes.Add(number1Resource);

                // Save project as MPP
                project1.Save(dataDir + "ResourceExtendedAttributes_out.mpp", SaveFileFormat.MPP);
                //ExEnd:SetResourceExtendedAttributes
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http://www.aspose.com/purchase/default.aspx.");
            }
        }
        public void WorkWithExtendedAttributeDefinitionCollection()
        {
            // ExStart
            // ExFor: ExtendedAttributeDefinitionCollection
            // ExFor: ExtendedAttributeDefinitionCollection.Add(ExtendedAttributeDefinition)
            // ExFor: ExtendedAttributeDefinitionCollection.Clear
            // ExFor: ExtendedAttributeDefinitionCollection.Contains(ExtendedAttributeDefinition)
            // ExFor: ExtendedAttributeDefinitionCollection.CopyTo(ExtendedAttributeDefinition[],Int32)
            // ExFor: ExtendedAttributeDefinitionCollection.Count
            // ExFor: ExtendedAttributeDefinitionCollection.GetById(Int32)
            // ExFor: ExtendedAttributeDefinitionCollection.GetEnumerator
            // ExFor: ExtendedAttributeDefinitionCollection.IndexOf(ExtendedAttributeDefinition)
            // ExFor: ExtendedAttributeDefinitionCollection.Insert(Int32,ExtendedAttributeDefinition)
            // ExFor: ExtendedAttributeDefinitionCollection.IsReadOnly
            // ExFor: ExtendedAttributeDefinitionCollection.Item(Int32)
            // ExFor: ExtendedAttributeDefinitionCollection.ParentProject
            // ExFor: ExtendedAttributeDefinitionCollection.Remove(ExtendedAttributeDefinition)
            // ExFor: ExtendedAttributeDefinitionCollection.RemoveAt(Int32)
            // ExFor: ExtendedAttributeDefinitionCollection.ToList
            // ExSummary: Shows how to use extended attribute definition collections.
            var project = new Project(DataDir + "ReadTaskExtendedAttributes.mpp");

            if (!project.ExtendedAttributes.IsReadOnly)
            {
                if (project.ExtendedAttributes.Count > 0)
                {
                    // clear extended attribute definitions
                    project.ExtendedAttributes.Clear();
                }
            }

            // create extended attribute definition for a task
            var taskDefinition = ExtendedAttributeDefinition.CreateTaskDefinition(CustomFieldType.Start, ExtendedAttributeTask.Start7, "Start 7");

            project.ExtendedAttributes.Add(taskDefinition);

            Console.WriteLine("Iterate over extended attributes of " + project.ExtendedAttributes.ParentProject.Get(Prj.Name) + " project: ");
            foreach (var attribute in project.ExtendedAttributes)
            {
                Console.WriteLine("Attribute Alias: " + attribute.Alias);
                Console.WriteLine("Attribute CfType: " + attribute.CfType);
                Console.WriteLine();
            }

            Console.WriteLine();

            // work with extended attribute definitions...
            var resourceDefinition = ExtendedAttributeDefinition.CreateResourceDefinition(CustomFieldType.Cost, ExtendedAttributeResource.Cost5, "My cost");

            if (!project.ExtendedAttributes.Contains(resourceDefinition))
            {
                project.ExtendedAttributes.Add(resourceDefinition);
            }

            // work with extended attribute definitions...
            var resourceDefinition2 = ExtendedAttributeDefinition.CreateResourceDefinition(CustomFieldType.Number, ExtendedAttributeResource.Cost1, "My Cost 2");

            if (project.ExtendedAttributes.IndexOf(resourceDefinition2) < 0)
            {
                project.ExtendedAttributes.Insert(0, resourceDefinition2);
            }

            // work with extended attribute definitions...

            // remove extended attribute by index
            project.ExtendedAttributes.RemoveAt(0);

            Assert.AreEqual(2, project.ExtendedAttributes.Count); // ExSkip

            Console.WriteLine("Print project's extended attributes: ");
            Console.WriteLine("Count of project's extended attribute definitions: " + project.ExtendedAttributes.Count);

            // use collection index access
            Console.WriteLine("Attribute 1 Alias: " + project.ExtendedAttributes[0].Alias);
            Console.WriteLine("Attribute 1 CfType: " + project.ExtendedAttributes[0].CfType);
            Console.WriteLine("Attribute 2 Alias: " + project.ExtendedAttributes[1].Alias);
            Console.WriteLine("Attribute 2 CfType: " + project.ExtendedAttributes[1].CfType);

            var otherProject = new Project();

            // copy attributes to other project
            var attributes = new ExtendedAttributeDefinition[project.ExtendedAttributes.Count];

            project.ExtendedAttributes.CopyTo(attributes, 0);

            foreach (var attribute in attributes)
            {
                otherProject.ExtendedAttributes.Add(attribute);
            }

            Console.WriteLine();
            Console.WriteLine("Iterate over other project's extended attributes: ");
            foreach (var attribute in otherProject.ExtendedAttributes)
            {
                Console.WriteLine("Attribute Alias: " + attribute.Alias);
                Console.WriteLine("Attribute CfType: " + attribute.CfType);
                Console.WriteLine();
            }

            // remove all extended attribute definitions
            List <ExtendedAttributeDefinition> definitions = project.ExtendedAttributes.ToList();

            foreach (var definition in definitions)
            {
                project.ExtendedAttributes.Remove(definition);
            }

            // ExEnd
        }