using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VolPro.Core.ManageUser;
using VolPro.Entity.DomainModels;
namespace VolPro.Core.Extensions
{
public static class EntityCustom
{
private static string[] DefaultFields = null;// new string[] { "你的字段1", "你的字段2" };
///
/// 功能作用:给所有表包括DefaultFields数组的字段都统一设置默认值
///
///
///
public static void SetValue(this T entity) where T : class
{
if (DefaultFields == null) return;
var properties = typeof(T).GetProperties().Where(x => DefaultFields.Contains(x.Name));
if (!properties.Any()) return;
//如果某些表有相同的字段但不需要设置值,在这此执行
//if (nameof(T)==nameof(表model))
//{
// return;
//}
//在这里给表对象设置默认值
foreach (var item in properties)
{
//UserContext.Current.UserInfo获取用户信息,也可以在userinfo里面加其他字段
//usercontext是已缓存的对象,尽量不要在这里查询数据库
switch (item.Name)
{
case "你的字段1":
//可以从UserContext.Current.UserInfo取值
item.SetValue(entity, "你的字段1值");
break;
case "你的字段2":
item.SetValue(entity, "你的字段2值");
break;
default:
break;
}
}
}
}
}