using BeWo.Data.Entities;
using BS.Shared.DataContracts;

namespace BeWo.Service.DCEntityMapper
{
	public class AuszahlungsartDC_Auszahlungsart : AbstractIDCEntityMapper<Auszahlungsart, AuszahlungsartDC>
	{
		public override AuszahlungsartDC MergeWithDC(Auszahlungsart pEntity, AuszahlungsartDC pDataContract)
		{
			pDataContract.AuszahlungsartOid = pEntity.Oid;
			pDataContract.AuszahlungsartVersion = pEntity.Version;
			pDataContract.Name = pEntity.Name;

			return pDataContract;
		}

		public override Auszahlungsart MergeWithEntity(AuszahlungsartDC pDataContract, Auszahlungsart pEntity)
		{
			ConcurrencyCheck(pDataContract.AuszahlungsartVersion, pEntity);

			pEntity.Oid = pDataContract.AuszahlungsartOid;
			pEntity.Version = pDataContract.AuszahlungsartVersion;
			pEntity.Name = pDataContract.Name;

			return pEntity;
		}

		protected override bool AreDCAndEntityEqual(AuszahlungsartDC pDC, Auszahlungsart pEntity)
		{
			if (pDC.AuszahlungsartOid == null)
				return false;

			return pDC.AuszahlungsartOid == pEntity.Oid;
		}
	}
}
