Showing posts with label Query OptionSet Value with LINQ. Show all posts
Showing posts with label Query OptionSet Value with LINQ. Show all posts

Friday, 17 May 2013

Querying OptionSetValue from MS CRM using Linq query with join operation

Below Code is taken from this post ,
   
        private string GetPickListText(string entityName, string attributeName, int optionSetValue)
        {
            string AttributeName = attributeName;
            string EntityLogicalName = entityName;

            RetrieveEntityRequest retrieveBankAccountEntityRequest = new RetrieveEntityRequest
            {
                EntityFilters = EntityFilters.All,
                LogicalName = EntityLogicalName
            };
            RetrieveEntityResponse retrieveBankAccountEntityResponse = (RetrieveEntityResponse)_serviceContext.Execute(retrieveBankAccountEntityRequest);
            Microsoft.Xrm.Sdk.Metadata.EntityMetadata metadata = retrieveBankAccountEntityResponse.EntityMetadata;
            Microsoft.Xrm.Sdk.Metadata.PicklistAttributeMetadata picklistMetadata = metadata.Attributes.FirstOrDefault(attribute => String.Equals(attribute.LogicalName, attributeName, StringComparison.OrdinalIgnoreCase)) as Microsoft.Xrm.Sdk.Metadata.PicklistAttributeMetadata;
            Microsoft.Xrm.Sdk.Metadata.OptionSetMetadata options = picklistMetadata.OptionSet;

            IList<OptionMetadata> picklistOption = (from o in options.Options
                                                    where o.Value.Value == optionSetValue
                                                    select o).ToList();

            string picklistLabel = (picklistOption.First()).Label.UserLocalizedLabel.Label;
            return picklistLabel;
        }



Hope this helps,

Yusuf