コード例 #1
0
        /// <summary>
        /// Returns the field's current value(s)
        /// </summary>
        /// <param name="parentControl">The parent control.</param>
        /// <param name="value">Information about the value</param>
        /// <param name="configurationValues">The configuration values.</param>
        /// <param name="condensed">Flag indicating if the value should be condensed (i.e. for use in a grid column)</param>
        /// <returns></returns>
        public override string FormatValue(Control parentControl, string value, Dictionary <string, ConfigurationValue> configurationValues, bool condensed)
        {
            string formattedValue = string.Empty;

            if (!string.IsNullOrWhiteSpace(value))
            {
                var guidPairs = Rock.Attribute.MetricCategoriesFieldAttribute.GetValueAsGuidPairs(value);

                var metricGuids = guidPairs.Select(a => a.MetricGuid);

                var metrics = new MetricService(new RockContext()).Queryable().Where(a => metricGuids.Contains(a.Guid));
                if (metrics.Any())
                {
                    formattedValue = string.Join(", ", (from metric in metrics select metric.Title).ToArray());
                }
            }

            return(base.FormatValue(parentControl, formattedValue, null, condensed));
        }