You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
6.7 KiB
C#
219 lines
6.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SLH.SSDMS.Common
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static class UtilConvert
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <returns></returns>
|
|
public static int ObjToInt2(this object thisValue)
|
|
{
|
|
int reval = 0;
|
|
if (thisValue == null) return 0;
|
|
if (thisValue != null && thisValue != DBNull.Value && int.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return reval;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <param name="errorValue"></param>
|
|
/// <returns></returns>
|
|
public static int ObjToInt2(this object thisValue, int errorValue)
|
|
{
|
|
int reval = 0;
|
|
if (thisValue != null && thisValue != DBNull.Value && int.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return errorValue;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <returns></returns>
|
|
public static double ObjToMoney2(this object thisValue)
|
|
{
|
|
double reval = 0;
|
|
if (thisValue != null && thisValue != DBNull.Value && double.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return 0;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <param name="errorValue"></param>
|
|
/// <returns></returns>
|
|
public static double ObjToMoney2(this object thisValue, double errorValue)
|
|
{
|
|
double reval = 0;
|
|
if (thisValue != null && thisValue != DBNull.Value && double.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return errorValue;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <returns></returns>
|
|
public static string ObjToString2(this object thisValue)
|
|
{
|
|
if (thisValue != null) return thisValue.ToString().Trim();
|
|
return "";
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <param name="errorValue"></param>
|
|
/// <returns></returns>
|
|
public static string ObjToString2(this object thisValue, string errorValue)
|
|
{
|
|
if (thisValue != null) return thisValue.ToString().Trim();
|
|
return errorValue;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <returns></returns>
|
|
public static Decimal ObjToDecimal2(this object thisValue)
|
|
{
|
|
Decimal reval = 0;
|
|
if (thisValue != null && thisValue != DBNull.Value && decimal.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return 0;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <param name="errorValue"></param>
|
|
/// <returns></returns>
|
|
public static Decimal ObjToDecimal2(this object thisValue, decimal errorValue)
|
|
{
|
|
Decimal reval = 0;
|
|
if (thisValue != null && thisValue != DBNull.Value && decimal.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return errorValue;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <returns></returns>
|
|
public static DateTime ObjToDate2(this object thisValue)
|
|
{
|
|
DateTime reval = DateTime.MinValue;
|
|
if (thisValue != null && thisValue != DBNull.Value && DateTime.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
reval = Convert.ToDateTime(thisValue);
|
|
}
|
|
return reval;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <param name="errorValue"></param>
|
|
/// <returns></returns>
|
|
public static DateTime ObjToDate2(this object thisValue, DateTime errorValue)
|
|
{
|
|
DateTime reval = DateTime.MinValue;
|
|
if (thisValue != null && thisValue != DBNull.Value && DateTime.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return errorValue;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="thisValue"></param>
|
|
/// <returns></returns>
|
|
public static bool ObjToBool2(this object thisValue)
|
|
{
|
|
bool reval = false;
|
|
if (thisValue != null && thisValue != DBNull.Value && bool.TryParse(thisValue.ToString(), out reval))
|
|
{
|
|
return reval;
|
|
}
|
|
return reval;
|
|
}
|
|
|
|
/// <summary>
|
|
/// List<T>转DataSet
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="list"></param>
|
|
/// <returns></returns>
|
|
public static DataSet ConvertToDataSet<T>(List<T> list)
|
|
{
|
|
if (list == null || list.Count <= 0)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
DataSet ds = new DataSet();
|
|
DataTable dt = new DataTable(typeof(T).Name);
|
|
DataColumn column;
|
|
DataRow row;
|
|
|
|
System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
|
|
|
|
foreach (T t in list)
|
|
{
|
|
if (t == null)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
row = dt.NewRow();
|
|
|
|
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
|
|
{
|
|
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
|
|
|
|
string name = pi.Name;
|
|
|
|
if (dt.Columns[name] == null)
|
|
{
|
|
column = new DataColumn(name, pi.PropertyType);
|
|
dt.Columns.Add(column);
|
|
}
|
|
|
|
row[name] = pi.GetValue(t, null);
|
|
}
|
|
|
|
dt.Rows.Add(row);
|
|
}
|
|
ds.Tables.Add(dt);
|
|
return ds;
|
|
}
|
|
}
|
|
}
|