62,072
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 新增/修改单件信息
/// </summary>
/// <param name="model"></param>
/// <param name="itemId"></param>
public void AddOrUpdateItem(sam_ba_itemExtColumnsVm model, long? itemId)
{
//补上主键值+数据转换
if (itemId != null) model.ItemId = itemId.Value;
TransferWebModel(model);
/// <summary>
/// 将Web端上传的web model转换为和数据库表结构类型相符的db model
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="model"></param>
protected void TransferWebModel<T>(T model)
where T : BaseModel
{
if (model == null) throw new ArgumentNullException("model");
PropertyInfo[] props = model.GetType().GetProperties();
foreach (PropertyInfo prop in props)
{
var value = prop.GetValue(model, null);
if (value == null) continue;
//各种常规转换
if (value.ToString() == "true")
{
//true转换
prop.SetValue(model, "1", null);
}
else if (value.ToString() == "false")
{
//false转换
prop.SetValue(model, "0", null);
}
else if (value.ToString() == " ")
{
//空字符串转换
prop.SetValue(model, null, null);
}
}
}
你可以在TransferWebModel()中,将枚举值进行ToString()转换。static void Main(string[] args)
{
int v=1; //假设model传递过来1;
var q = ((ABC)v).ToString();
Console.WriteLine(q);
Console.ReadLine();
}
enum ABC
{
A=1,
B=2
}
enum Number
{
one=1,
two=2,
three=3
}
我是值=(int)Number.two;