// ---------[ FUNCTIONALITY ]--------- /// <summary>Formats a value as a display string.</summary> public static string FormatValue(object value, Method method, string toStringParameter) { string displayString = string.Empty; if (string.IsNullOrEmpty(toStringParameter)) { // Default value for ToString() in most cases is (G)eneral toStringParameter = "G"; } switch (method) { case Method.ByteCount: { Int64 bytes = 0; if (value != null) { bytes = (Int64)value; } displayString = ValueFormatting.ByteCount(bytes, toStringParameter); } break; case Method.AbbreviatedNumber: { int number = 0; if (value != null) { number = (int)value; } displayString = ValueFormatting.AbbreviateInteger(number, toStringParameter); } break; case Method.TimeStampAsDateTime: { if (value == null) { displayString = "--"; } else { displayString = ServerTimeStamp.ToLocalDateTime((int)value).ToString(toStringParameter); } } break; case Method.Percentage: { if (value == null) { displayString = "--%"; } else { displayString = ((float)value * 100.0f).ToString(toStringParameter) + "%"; } } break; case Method.SecondsAsTime: { int seconds = 0; if (value != null) { seconds = (int)value; } displayString = ValueFormatting.SecondsAsTime(seconds); } break; default: { displayString = null; if (value != null && !string.IsNullOrEmpty(toStringParameter)) { if (value is float) { displayString = ((float)value).ToString(toStringParameter); } else if (value is int) { displayString = ((int)value).ToString(toStringParameter); } else if (value is Int64) { displayString = ((Int64)value).ToString(toStringParameter); } } if (displayString == null) { if (value != null) { displayString = value.ToString(); } else { displayString = string.Empty; } } } break; } return(displayString); }
private void BuildDisplayMap() { m_displayMapping = new Dictionary <Text, GetDisplayString>(); if (popularityRankDisplay != null) { m_displayMapping.Add(popularityRankDisplay, (s) => ValueFormatting.AbbreviateInteger(s.popularityRankPosition, "0.0")); } if (popularityModCountDisplay != null) { m_displayMapping.Add(popularityModCountDisplay, (s) => ValueFormatting.AbbreviateInteger(s.popularityRankModCount, "0.0")); } if (downloadCountDisplay != null) { m_displayMapping.Add(downloadCountDisplay, (s) => ValueFormatting.AbbreviateInteger(s.downloadCount, "0.0")); } if (subscriberCountDisplay != null) { m_displayMapping.Add(subscriberCountDisplay, (s) => ValueFormatting.AbbreviateInteger(s.subscriberCount, "0.0")); } if (ratingCountDisplay != null) { m_displayMapping.Add(ratingCountDisplay, (s) => ValueFormatting.AbbreviateInteger(s.ratingCount, "0.0")); } if (ratingPositiveCountDisplay != null) { m_displayMapping.Add(ratingPositiveCountDisplay, (s) => ValueFormatting.AbbreviateInteger(s.ratingPositiveCount, "0.0")); } if (ratingPositivePercentageDisplay != null) { m_displayMapping.Add(ratingPositivePercentageDisplay, (s) => (s.ratingCount > 0 ? (100f * (float)s.ratingPositiveCount / (float)s.ratingCount).ToString("0") + "%" : "--")); } if (ratingNegativeCountDisplay != null) { m_displayMapping.Add(ratingNegativeCountDisplay, (s) => ValueFormatting.AbbreviateInteger(s.ratingNegativeCount, "0.0")); } if (ratingNegativePercentageDisplay != null) { m_displayMapping.Add(ratingNegativePercentageDisplay, (s) => (s.ratingCount > 0 ? (100f * (float)s.ratingNegativeCount / (float)s.ratingCount).ToString("0") + "%" : "--")); } if (ratingWeightedAggregateDisplay != null) { m_displayMapping.Add(ratingWeightedAggregateDisplay, (s) => (100f * s.ratingWeightedAggregate).ToString("0") + "%"); } if (ratingAsTextDisplay != null) { m_displayMapping.Add(ratingAsTextDisplay, (s) => s.ratingDisplayText); } }