Partager via


InsertOptionValueRequest Class

Applies To: Microsoft Dynamics CRM 2013, Microsoft Dynamics CRM Online

Contains the data that is needed to insert a new option value for a global or local option set.

Namespace: Microsoft.Xrm.Sdk.Messages
Assembly: Microsoft.Xrm.Sdk (in Microsoft.Xrm.Sdk.dll)

Syntax

'Declaration
<DataContractAttribute(Namespace:="https://schemas.microsoft.com/xrm/2011/Contracts")> _
Public NotInheritable Class InsertOptionValueRequest
    Inherits OrganizationRequest
[DataContractAttribute(Namespace="https://schemas.microsoft.com/xrm/2011/Contracts")] 
public sealed class InsertOptionValueRequest : OrganizationRequest

Example

The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface. For the complete sample, see the link later in this topic.

// Create a request.
InsertOptionValueRequest insertOptionValueRequest =
    new InsertOptionValueRequest
{
    AttributeLogicalName = "new_picklist",
    EntityLogicalName = Contact.EntityLogicalName,
    Label = new Label("New Picklist Label", _languageCode)
};

// Execute the request.
int insertOptionValue = ((InsertOptionValueResponse)_serviceProxy.Execute(
    insertOptionValueRequest)).NewOptionValue;

Console.WriteLine("Created {0} with the value of {1}.",
    insertOptionValueRequest.Label.LocalizedLabels[0].Label,
    insertOptionValue);
' Create a request.
Dim insertOptionValueRequest As InsertOptionValueRequest = New InsertOptionValueRequest With {
 .AttributeLogicalName = "new_picklist",
 .EntityLogicalName = Contact.EntityLogicalName,
 .Label = New Label("New Picklist Label", _languageCode)}

' Execute the request.
Dim insertOptionValue As Integer = (CType(_serviceProxy.Execute(insertOptionValueRequest), InsertOptionValueResponse)).NewOptionValue

Console.WriteLine("Created {0} with the value of {1}.", insertOptionValueRequest.Label.LocalizedLabels(0).Label, insertOptionValue)

The following example shows how to insert a new option into a global option set.

// Use InsertOptionValueRequest to insert a new option into a 
// global option set.
InsertOptionValueRequest insertOptionValueRequest =
    new InsertOptionValueRequest
    {
        OptionSetName = _globalOptionSetName,
        Label = new Label("New Picklist Label", _languageCode)
    };

// Execute the request and store the newly inserted option value 
// for cleanup, used in the later part of this sample.
_insertedOptionValue = ((InsertOptionValueResponse)_serviceProxy.Execute(
    insertOptionValueRequest)).NewOptionValue;

//Publish the OptionSet
PublishXmlRequest pxReq2 = new PublishXmlRequest { ParameterXml = String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>", _globalOptionSetName) };
_serviceProxy.Execute(pxReq2);
' Use InsertOptionValueRequest to insert a new option into a 
' global option set.
Dim insertOptionValueRequest As InsertOptionValueRequest = New InsertOptionValueRequest With {
 .OptionSetName = _globalOptionSetName,
 .Label = New Label("New Picklist Label", _languageCode)
}

' Execute the request and store the newly inserted option value 
' for cleanup, used in the later part of this sample.
_insertedOptionValue =
 (CType(_serviceProxy.Execute(insertOptionValueRequest), InsertOptionValueResponse)).NewOptionValue

'Publish the OptionSet
Dim pxReq2 As PublishXmlRequest = New PublishXmlRequest With {
 .ParameterXml = String.Format("<importexportxml><optionsets><optionset>{0}</optionset></optionsets></importexportxml>", _globalOptionSetName)
}
_serviceProxy.Execute(pxReq2)

Remarks

Message Availability

For this message to work, the caller must be connected to the server.

Usage

Pass an instance of this class to the Execute method, which returns an instance of InsertOptionValueResponse.

Privileges and Access Rights

To perform this action, the caller must have privileges listed in InsertOptionValue Privileges.

Notes for Callers

Use this message to update global option sets or local option sets within picklist attributes.

When you update a global option set only Label and OptionSetName are required.

When you update a local option set only AttributeLogicalName, EntityLogicalName, and Label are required.

Inheritance Hierarchy

System.Object
   Microsoft.Xrm.Sdk.OrganizationRequest
    Microsoft.Xrm.Sdk.Messages.InsertOptionValueRequest

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Server 2008, Windows Server 2012, Windows 7 (All Versions), Windows 8 (All Versions)

Target Platforms

Windows Server 2008, ,Windows Server 2012, ,Windows 7 (All Versions),

Change History

See Also

Reference

InsertOptionValueRequest Members
Microsoft.Xrm.Sdk.Messages Namespace

Other Resources

Sample: Work with Attributes
Sample: Work with Global Option Sets

Send comments about this topic to Microsoft.
© 2013 Microsoft Corporation. All rights reserved.