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 }
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 }