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

namespace BeWo.Service.DCEntityMapper
{
	public class DepotRhythmusDC_DepotRhythmus : AbstractIDCEntityMapper<DepotRhythmus, DepotRhythmusDC>
	{
		public override DepotRhythmusDC MergeWithDC(DepotRhythmus pEntity, DepotRhythmusDC pDataContract)
		{
			pDataContract.DepotRhythmusformOid = pEntity.Oid;
			pDataContract.DepotRhythmusformVersion = pEntity.Version;
			pDataContract.Bezeichnung = pEntity.Bezeichnung;
			pDataContract.Wert = pEntity.Wert;

			return pDataContract;
		}

		public override DepotRhythmus MergeWithEntity(DepotRhythmusDC pDataContract, DepotRhythmus pEntity)
		{
			ConcurrencyCheck(pDataContract.DepotRhythmusformVersion, pEntity);

			pEntity.Oid = pDataContract.DepotRhythmusformOid;
			pEntity.Bezeichnung = pDataContract.Bezeichnung;
			pEntity.Wert = pDataContract.Wert;

			return pEntity;
		}

		protected override bool AreDCAndEntityEqual(DepotRhythmusDC pDC, DepotRhythmus pEntity)
		{
			if (pDC.DepotRhythmusformOid == null)
				return false;

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