view 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 source

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;
		}
	}
}