Ejemplo n.º 1
0
        public static string FormatValue(object value, ReportColumnFormat format, int precision)
        {
            if (value == null)
            {
                return(string.Empty);
            }

            switch (format)
            {
            case ReportColumnFormat.Text:
                return(value.ToString());

            case ReportColumnFormat.Boolean:
                return((bool)value ? "Yes" : "No");

            case ReportColumnFormat.Number:
                var numberFormat = $"{{0:N{precision}}}";
                return(string.Format(numberFormat, value));

            case ReportColumnFormat.Currency:
                var currencyFormat = $"{{0:C{precision}}}";
                return(string.Format(currencyFormat, value));

            case ReportColumnFormat.Percentage:
                var percentFormat = $"{{0:P{precision}}}";
                return(string.Format(percentFormat, value));

            default:
                throw new ArgumentOutOfRangeException(nameof(format), format.ToString());
            }
        }
Ejemplo n.º 2
0
        private static int GetDefaultPrecision(ReportColumnFormat format)
        {
            switch (format)
            {
            case ReportColumnFormat.Percentage:
                return(2);

            default:
                return(0);
            }
        }