Files
ARM64/Axiom/Axiom.Core/Utility/Utility.cs
Sean 709285b590
Some checks failed
Build .NET Project / build (push) Has been cancelled
Reduce instantiation of CultureInfo
2026-03-05 17:20:42 -05:00

133 lines
4.0 KiB
C#
Executable File

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Globalization;
namespace Axiom.Utils
{
public class Utility
{
private static readonly System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-US");
private static readonly String[] formats = new[] { "yyyy/MM/dd","M-d-yyyy", "dd-MM-yyyy", "MM-dd-yyyy", "M.d.yyyy", "dd.MM.yyyy", "MM.dd.yyyy","yyyyMMdd" }.Union(cultureInfo.DateTimeFormat.GetAllDateTimePatterns()).ToArray();
private Utility()
{
}
public static Stream StreamFromString(string s)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
public static String ListToString(List<String> list)
{
if (null == list || 0 == list.Count) return "";
StringBuilder sb = new StringBuilder();
for (int index = 0; index < list.Count; index++)
{
sb.Append(list[index]);
if (index < list.Count-1) sb.Append(",");
}
return sb.ToString();
}
public static String DateTimeToStringYYYYMMDD(DateTime dateTime)
{
return dateTime.ToString("yyyyMMdd");
}
public static String DateTimeToStringMMHDDHYYYY(DateTime dateTime)
{
return dateTime.ToString("MM-dd-yyyy");
}
public static String DateTimeToStringMMSDDSYYYYHHMMSS(DateTime dateTime)
{
return dateTime.ToString("MM/dd/yyyy hh:mm:ss tt");
}
public static String DateTimeToTicks(DateTime dateTime)
{
return dateTime.Ticks.ToString();
}
public static String KeepAfter(String strString,char ch)
{
int startPos = strString.IndexOf(ch);
if (-1 == startPos) return strString;
return strString.Substring(startPos + 1);
}
public static String KeepBefore(String strString, char ch)
{
int startPos = strString.IndexOf(ch);
if (-1 == startPos) return strString;
return strString.Substring(0,startPos);
}
public static DateTime ParseDate(String strDate)
{
strDate = strDate.Trim();
DateTime dateTime=DateTime.ParseExact(strDate, formats, cultureInfo, DateTimeStyles.AssumeLocal);
return dateTime;
}
public static String AddQuotes(String item)
{
return "\"" + item + "\"";
}
public static String RemoveCC(String item)
{
StringBuilder sb = new StringBuilder();
foreach (char ch in item)
{
if (!Char.IsControl(ch)) sb.Append(ch);
}
return sb.ToString();
}
public static String SqlString(String value)
{
StringBuilder sb = new StringBuilder();
foreach (char ch in value)
{
sb.Append(ch);
if (ch == '\'') sb.Append("'");
}
return sb.ToString();
}
public static String IsNull(String s1,String s2)
{
if (null == s1) return s2;
return s1;
}
public static String NullIfOrCat(String s1,String s2,String s3)
{
if (string.IsNullOrEmpty(s1)) return s2;
return s1+s3;
}
public static String Pad(string str, char filler, int length)
{
int stringLength = str.Length;
if (stringLength >= length) return str;
StringBuilder sb = new StringBuilder();
while (stringLength < length)
{
sb.Append(filler);
stringLength++;
}
return sb.ToString() + str;
}
public static String CreateInClause(String commaSepList,String dataType)
{
StringBuilder sb = new StringBuilder();
sb.Append("(");
String[] items = commaSepList.Split(',');
for (int index = 0; index < items.Length; index++)
{
sb.Append("'").Append(items[index]).Append("'");
if (index < items.Length - 1) sb.Append(",");
}
sb.Append(")");
return sb.ToString();
}
}
}