How To : Get the Label Value for an OptionSet Using RetrieveAttribute Request in CRM using C# SDK

The following code shows how to to the get label of an option value.


private string GetCRMOptionSetLabel(IOrganizationService service, string entityname, string optionsetname, int value)
RetrieveAttributeRequest reqOptionSet = new RetrieveAttributeRequest();
reqOptionSet.EntityLogicalName = entityname;
reqOptionSet.LogicalName = optionsetname;
RetrieveAttributeResponse resp = (RetrieveAttributeResponse)service.Execute(reqOptionSet);
PicklistAttributeMetadata opdata = (PicklistAttributeMetadata)resp.AttributeMetadata;
var option = opdata.OptionSet.Options.FirstOrDefault(o => o.Value == value);
return option.Label.LocalizedLabels.FirstOrDefault().Label;