/// <summary>
/// 模型輔助處理類
/// 2016-04-18
/// </summary>
public class ModelHelper
{
/// <summary>
/// 將資料轉化為模型
/// 2016-04-18 基礎資料型別:Int32,decimal
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
public static void ConvertToModel<T>(ref T t)
{
System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
Type[] tempArr = new Type[] {typeof(Int32),typeof(decimal)};
object tempObject = null;
for (Int32 i = 0; i < properties.Length; i++)
{
if (ReqUtils.FormString(properties[i].Name) != null || properties[i].PropertyType.Name.ToLower() == "httpfilecollection")
{
switch (properties[i].PropertyType.Name.ToLower())
{
case "int32": tempObject = Int32.Parse(string.Format("0{0}", ReqUtils.FormString(properties[i].Name))); break;
case "decimal": tempObject = decimal.Parse(string.Format("0{0}", ReqUtils.FormString(properties[i].Name))); break;
case "httpfilecollection": tempObject = System.Web.HttpContext.Current.Request.Files; break;
default:
tempObject = string.Format("{0}", ReqUtils.FormString(properties[i].Name));
break;
}
properties[i].SetValue(t, tempObject, null);
}
}
}
/// <summary>
/// 該實體是否都為空
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool ModelIsNotNull(object model)
{
bool istrue = true;
Type type = model.GetType();
var flags = GetOnlyProperty();
var list = type.GetProperties(flags).ToList();
foreach (var p in list)
{
if (IsColumn(p))
{
object value = p.GetValue(model, null) ?? "";
if (string.IsNullOrWhiteSpace(value.ToString()))
{
istrue = false;
break;
}
}
}
return istrue;
}
private BindingFlags GetOnlyProperty()
{
return BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance;
}
private bool IsColumn(PropertyInfo info)
{
object[] objs = info.GetCustomAttributes(typeof(Attribute), true);
return objs.Length == 0;
}
/// <summary>
/// 獲取操作提示翻譯
/// </summary>
/// <param name="key"></param>
/// <param name="lan"></param>
/// <returns></returns>
public static string GetTans(string key, string lan = "")
{
try
{
if (string.IsNullOrWhiteSpace(lan))
{
lan = "cn";
}
if (lan.ToLower().Contains("cn") || lan.ToLower().Contains("zh"))
{
lan = "zh";
}
string className = "PageInfo_" + lan;
var globalResourceObject = HttpContext.GetGlobalResourceObject(className, key);
if (globalResourceObject != null)
return globalResourceObject.ToString() == "" ? key : globalResourceObject.ToString();
else
{
return key;
}
}
catch
{
return key;
}
}
}
很好用的request轉換為實體方法還有判斷實體所有引數不能為空的方法
相關文章
- 判斷字串為空方法字串
- JS判斷物件是否為空物件的方法JS物件
- postgresql判斷是否為數字的方法SQL
- Gson轉換 — json資料轉換為Object實體公共方法JSONObject
- PHP 判斷陣列是否為空的幾種方法PHP陣列
- 判斷一個物件為空物件的5種方法物件
- 【轉】Java中判斷字串是否為數字的五種方法Java字串
- PHP 判斷陣列是否為空的5大方法PHP陣列
- Java技巧分享:判斷字串是否為空常的三種方法Java字串
- java中判斷String型別為空和null的方法Java型別Null
- Velocity判斷空的方法
- MVC如何避免控制器方法接收到的值不能被轉換為引數型別MVC型別
- 轉換軟體有哪些好用的?
- C++實現一個將字串中所有字母轉換為大寫的方法C++字串
- php中判斷變數是否為空PHP變數
- web前端--最好用的切圖方法(轉換為智慧物件)Web前端物件
- js判斷引數是否為非數字JS
- 判斷字串是否為空字串
- 不能將引數 2 從“char [8]”轉換為“LPCWSTR”
- js判斷一個變數是否為空JS變數
- Python實現"數字轉換為十六進位制"的兩種方法
- 判斷物件是否為空物件的方式物件
- 判斷是否為陣列的 JavaScript 方法總結陣列JavaScript
- PHP判斷檔案是否為圖片的方法PHP
- 字串轉換為數字時判斷非法字元並校正字串字元
- Python中判斷是否為數字字串的方法是什麼?Python字串
- PHP轉換emoji表情為HTML字元實體PHPHTML字元
- 記憶體不能為read修復方法 解決記憶體不能為read記憶體
- 為什麼 php empty 函式判斷結果為空,但實際值卻為非空PHP函式
- 【object C】ObjectC中如何彌補switch引數不能為字串的方法Object字串
- js判斷字串是否為空JS字串
- mysql如何判斷是否為空MySql
- JavaScript判斷字串是否為空JavaScript字串
- java判斷字串是否為空Java字串
- js判斷物件是否為空JS物件
- 判斷物件值是否為空物件
- java判斷物件是否為空Java物件
- JSP中String a = request.getParameter(“ “),判斷a是否為null或空的問題JSNull