Rock.Web.UI.Controls.SlidingDateRangePicker.FormatDelimitedValues C# (CSharp) Method

FormatDelimitedValues() public static method

Formats the delimited values as a phrase such as "Last 14 Days"
public static FormatDelimitedValues ( string value ) : string
value string The value.
return string
        public static string FormatDelimitedValues( string value )
        {
            string[] splitValues = ( value ?? string.Empty ).Split( '|' );
            string result = string.Empty;
            if ( splitValues.Length == 5 )
            {
                var slidingDateRangeMode = splitValues[0].ConvertToEnum<SlidingDateRangeType>();
                var numberOfTimeUnits = splitValues[1].AsIntegerOrNull() ?? 1;
                var timeUnitType = splitValues[2].ConvertToEnumOrNull<TimeUnitType>();
                string timeUnitText = timeUnitType != null ? timeUnitType.ConvertToString().PluralizeIf( numberOfTimeUnits != 1 ) : null;
                var start = splitValues[3].AsDateTime();
                var end = splitValues[4].AsDateTime();
                if ( slidingDateRangeMode == SlidingDateRangeType.Current )
                {
                    return string.Format( "{0} {1}", slidingDateRangeMode.ConvertToString(), timeUnitText );
                }
                else if ( ( SlidingDateRangeType.Last | SlidingDateRangeType.Previous | SlidingDateRangeType.Next | SlidingDateRangeType.Upcoming ).HasFlag( slidingDateRangeMode ) )
                {
                    return string.Format( "{0} {1} {2}", slidingDateRangeMode.ConvertToString(), numberOfTimeUnits, timeUnitText );
                }
                else
                {
                    // DateRange
                    var dateRange = SlidingDateRangePicker.CalculateDateRangeFromDelimitedValues( value );
                    return dateRange.ToStringAutomatic();
                }
            }

            return result;
        }