/// <summary> /// Writes out an object in Javascript literal notation based on its type. /// </summary> /// <param name="o">The object</param> /// <param name="gcdt">The column data type</param> /// <returns>The javascript literal notation for the object</returns> public static string FormatObjectForTypeJS(object o, GoogleColumnDataType gcdt) { if (o == null) { throw new ArgumentNullException(nameof(o)); } switch (gcdt) { case GoogleColumnDataType.date: case GoogleColumnDataType.datetime: case GoogleColumnDataType.timeofday: return(String.Format(CultureInfo.InvariantCulture, "new Date({0})", ((DateTime)o).ToString("yyyy, M - 1, d, H, m, s", System.Globalization.CultureInfo.InvariantCulture))); case GoogleColumnDataType.boolean: return(((bool)o) ? "true" : "false"); case GoogleColumnDataType.number: return(o.ToString()); default: case GoogleColumnDataType.@string: return(String.Format(CultureInfo.InvariantCulture, "'{0}'", o.ToString())); } }
/// <summary> /// Provides the format string for an axis /// </summary> /// <param name="gcdt">The column data type</param> /// <param name="datePattern">Date pattern, if it's a date</param> /// <param name="fUseMonthYearDate">True to use a month/year (no day) notation</param> /// <returns>The Format string</returns> public static string FormatStringForType(GoogleColumnDataType gcdt, bool fUseMonthYearDate = false, string datePattern = null) { switch (gcdt) { case GoogleColumnDataType.date: return(fUseMonthYearDate ? "MMM yyyy" : (String.IsNullOrWhiteSpace(datePattern) ? CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern : datePattern)); case GoogleColumnDataType.datetime: return(CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern + " " + "HH:mm"); case GoogleColumnDataType.timeofday: return(CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern); default: case GoogleColumnDataType.number: case GoogleColumnDataType.boolean: case GoogleColumnDataType.@string: return(String.Empty); } }
/// <summary> /// Provides the format string for an axis /// </summary> /// <param name="gcdt">The column data type</param> /// <returns>The Format string</returns> protected string FormatStringForType(GoogleColumnDataType gcdt) { switch (gcdt) { case GoogleColumnDataType.date: return(UseMonthYearDate ? "MMM yyyy" : (String.IsNullOrWhiteSpace(XDatePattern) ? System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern : XDatePattern)); case GoogleColumnDataType.datetime: return(System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern + " " + "HH:mm"); case GoogleColumnDataType.timeofday: return(System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern); default: case GoogleColumnDataType.number: case GoogleColumnDataType.boolean: case GoogleColumnDataType.@string: return(String.Empty); } }
/// <summary> /// Writes out an object in Javascript literal notation based on its type. /// </summary> /// <param name="o">The object</param> /// <param name="gcdt">The column data type</param> /// <returns>The javascript literal notation for the object</returns> private string FormatObjectForTypeJS(object o, GoogleColumnDataType gcdt) { switch (gcdt) { case GoogleColumnDataType.date: case GoogleColumnDataType.datetime: case GoogleColumnDataType.timeofday: return(String.Format(CultureInfo.InvariantCulture, "new Date({0})", ((DateTime)o).ToString("yyyy, M - 1, dd, HH, mm, ss", System.Globalization.CultureInfo.InvariantCulture))); case GoogleColumnDataType.boolean: return(((bool)o) ? "true" : "false"); case GoogleColumnDataType.number: return(o.ToString()); default: case GoogleColumnDataType.@string: return(String.Format(CultureInfo.InvariantCulture, "'{0}'", o.ToString())); } }