Mercurial > pub > bltoolkit
diff Demo/WinForms/ObjectModel/BizEntity.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Demo/WinForms/ObjectModel/BizEntity.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,32 @@ +using System; + +using BLToolkit.DataAccess; +using BLToolkit.EditableObjects; +using BLToolkit.Mapping; +using BLToolkit.Reflection; + +namespace BLToolkit.Demo.ObjectModel +{ + public abstract class BizEntity : EditableObject + { + [PrimaryKey(0), NonUpdatable] + public abstract int ID { get; protected internal set; } + + public virtual BizEntity CopyTo(BizEntity obj) + { + Map.ObjectToObject(this, obj); + + return obj; + } + + public virtual BizEntity Clone() + { + BizEntity obj = (BizEntity)TypeAccessor.CreateInstanceEx(GetType()); + + CopyTo(obj); + obj.AcceptChanges(); + + return obj; + } + } +}