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

namespace BeWo.Service.DCEntityMapper
{
	public class MedArtDC_MedArt : AbstractIDCEntityMapper<MedArt, MedArtDC>
	{
		public override MedArtDC MergeWithDC(MedArt pEntity, MedArtDC pDataContract)
		{
			pDataContract.MedArtOid = pEntity.Oid;
			pDataContract.MedArtVersion = pEntity.Version;
			pDataContract.Bezeichnung = pEntity.Bezeichnung;
			pDataContract.BezeichnungLang = pEntity.BezeichnungLang;

			return pDataContract;
		}

		public override MedArt MergeWithEntity(MedArtDC pDataContract, MedArt pEntity)
		{
			ConcurrencyCheck(pDataContract.MedArtVersion, pEntity);

			pEntity.Oid = pDataContract.MedArtOid;
			pEntity.Bezeichnung = pDataContract.Bezeichnung;
			pEntity.BezeichnungLang = pDataContract.BezeichnungLang;

			return pEntity;
		}

		protected override bool AreDCAndEntityEqual(MedArtDC pDC, MedArt pEntity)
		{
			if (pDC.MedArtOid == null)
				return false;

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