private static string makeValueCsvFriendly(object value)
{
if (value == null) return string.Empty;
if (value is DateTime)
{
if (((DateTime)value).TimeOfDay.TotalSeconds.ApproxEquals(0))
return ((DateTime)value).ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);
return ((DateTime)value).ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
}
var output = value.ToString();
if (output.Contains(",") || output.Contains("\""))
output = '"' + output.Replace("\"", "\"\"") + '"';
return output;
}