OptionSetHelper

来源:互联网 发布:淘宝店铺起名字 编辑:程序博客网 时间:2024/06/06 06:34
public static class OptionSetHelper    {        /// <summary>        /// 通过选项值获取选项描述        /// </summary>        /// <param name="crm"></param>        /// <param name="optionSetName"></param>        /// <param name="optionValue"></param>        /// <returns></returns>        public static string GetLable(IOrganizationService crm, string optionSetName, int optionValue)        {            RetrieveOptionSetRequest retrieveOptionSetRequest = new RetrieveOptionSetRequest            {                Name = optionSetName            };            RetrieveOptionSetResponse retrieveOptionSetResponse = (RetrieveOptionSetResponse)crm.Execute(retrieveOptionSetRequest);            OptionSetMetadata retrievedOptionSetMetadata = (OptionSetMetadata)retrieveOptionSetResponse.OptionSetMetadata;            OptionMetadata[] optionList = retrievedOptionSetMetadata.Options.ToArray();            var option = retrievedOptionSetMetadata.Options.Where<OptionMetadata>(x => x.Value == optionValue).FirstOrDefault();            if (null != option)                return option.Label.UserLocalizedLabel.Label;            return null;        }        /// <summary>        /// 通过选项描述获取选项值        /// </summary>        /// <param name="crm"></param>        /// <param name="optionSetName"></param>        /// <param name="optionLabel"></param>        /// <returns></returns>        public static int GetValue(IOrganizationService crm, string optionSetName, string optionLabel)        {            RetrieveOptionSetRequest retrieveOptionSetRequest = new RetrieveOptionSetRequest            {                Name = optionSetName            };            RetrieveOptionSetResponse retrieveOptionSetResponse = (RetrieveOptionSetResponse)crm.Execute(retrieveOptionSetRequest);            OptionSetMetadata retrievedOptionSetMetadata = (OptionSetMetadata)retrieveOptionSetResponse.OptionSetMetadata;            OptionMetadata[] optionList = retrievedOptionSetMetadata.Options.ToArray();            var option = retrievedOptionSetMetadata.Options.Where<OptionMetadata>(x => x.Label.UserLocalizedLabel.Label == optionLabel).FirstOrDefault();            if (null != option)                return option.Value.Value;            return 0;        }    }

1 0