Lind.DDD.Domain.IOwnerBehavor对实体的意义

时间:2021-10-22 00:34:24

回到目录

对于Lind.DDD架构,我之前写了不少文章,对于它的Domain模式也介绍了不少,像之前的IEntity,ILogicDeleteBehavor,IModifyBehavor,IStatusBehavor和ISortBehavor都有自己的功能,只要实体实现对外的接口,就具有了某种特性或者某种功能,而今天主要说一下拥有者接口,IOwnerBehavor,它主要用在管理系统的实体中,如一个员工资产表,当这个员工离职后,它对应资产将被进行转移,转移到一个新的用户身上,而这个用户就是这个资产的新拥有者

拥有者接口

    /// <summary>
/// 拥有者行为
/// </summary>
public interface IOwnerBehavor
{
/// <summary>
/// 拥有者Id
/// </summary>
int OwnerId { get; set; }
}

实体继承它

  /// <summary>
/// 操作日志
/// </summary>
[TableAttribute("WebLogger")]
public partial class WebLogger : Lind.DDD.Domain.Entity, Lind.DDD.Domain.IOwnerBehavor
{
/// <summary>
/// 操作者ID
/// </summary>
[DisplayName("操作者ID")]
public int UserId { get; set; }
/// <summary>
/// 操作者
/// </summary>
[DisplayName("操作者")]
public string UserName { get; set; }
/// <summary>
/// 控制器名称
/// </summary>
[DisplayName("控制器")]
public string ControllerName { get; set; }
/// <summary>
/// Action名称
/// </summary>
[DisplayName("Action")]
public string ActionName { get; set; }
/// <summary>
/// 操作权限
/// </summary>
[DisplayName("操作权限")]
public string Authority { get; set; }
/// <summary>
/// 当前请求的Get和Post参数JSON串
/// </summary>
[DisplayName("请求参数")]
public string RequestParams { get; set; }
/// <summary>
/// 功能说明
/// </summary>
[DisplayName("功能说明")]
public string Description { get; set; } #region IOwnerBehavor 成员 public int OwnerId
{
get;
set;
} #endregion
}

Lind.DDD.Manager集成它

功能主要有两个:修改单独表的拥有者和修改所有表的拥有者,如张三走了,由李四接管,这时我们通过拥有者接口就可以很方便的实现!

   /// <summary>
/// 拥有者控制器
/// </summary>
public class OwnerController : Controller
{
/// <summary>
/// 具有拥有者字段的数据表
/// </summary>
/// <returns></returns>
public ActionResult Index()
{
return View(Lind.DDD.Utils.AssemblyHelper.GetTypeNamesByInterfaces(typeof(IOwnerBehavor)));
} /// <summary>
/// 更新指定表的拥有者字段
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Edit(string name)
{
ViewBag.Name = string.IsNullOrWhiteSpace(name) ? "全部表" : name;
return View();
} /// <summary>
/// 更新表字段
/// </summary>
/// <param name="name"></param>
/// <param name="val"></param>
/// <param name="newVal"></param>
void UpdateTable(string name, int oldVal, int newVal)
{
var type = AssemblyHelper.GetEntityTypeByName(name);
Type reposType = typeof(ManagerEfRepository<>);
var objType = reposType.MakeGenericType(type);
object o = Activator.CreateInstance(objType);
var entity = objType.InvokeMember("GetModel", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, null);
var atest = (IEnumerable)entity; var newList = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(type)); foreach (var item in atest)
{
if ((int)type.GetProperty("OwnerId").GetValue(item) == oldVal)
{
var a = Convert.ChangeType(item, type);
type.GetProperty("OwnerId").SetValue(item, newVal);
newList.Add(item);
}
} objType.InvokeMember("BulkUpdate", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, new object[] { newList, "OwnerId" });
}
[HttpPost]
public ActionResult Edit(string name, FormCollection collection)
{
try
{
int oldVal;
int.TryParse(collection["oldValue"], out oldVal);
int val;
int.TryParse(collection["newValue"], out val); if (string.IsNullOrWhiteSpace(name))//全部表
{
foreach (var type in AssemblyHelper.GetTypeNamesByInterfaces(typeof(IOwnerBehavor)))
{
UpdateTable(type, oldVal, val);
}
}
else
{
UpdateTable(name, oldVal, val);
} return RedirectToAction("Index");
}
catch
{
throw;
}
} }

Lind.DDD.Manager运行结果

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

经过上面操作后,灵气表WebLogger里的OwnerId字段将由1变更为11,这就是面向接口的魅力,我们将某种特征抽象成接口,方便以后对这种特征进行统一的管理!

感谢各位的阅读!

回到目录