using System;

using BeWo.Data.Entities;

using BS.Shared.DataContracts.Compact;

namespace BeWo.Service.DCEntityMapper
{
    public class CompactGroupOfPeopleDC_GroupOfPeople : AbstractIDCEntityMapper<GroupOfPeople, CompactGroupOfPeopleDC>
    {
        public override CompactGroupOfPeopleDC MergeWithDC(GroupOfPeople pEntity, CompactGroupOfPeopleDC pDataContract)
        {
            pDataContract.Name = pEntity.Name;
            pDataContract.GroupOfPeopleOid = pEntity.Oid.Value;
            pDataContract.GroupOfPeopleVersion = pEntity.Version.Value;
            pDataContract.GroupType = pEntity.GroupType;

            return pDataContract;
        }

        public override GroupOfPeople MergeWithEntity(CompactGroupOfPeopleDC pDataContract, GroupOfPeople pEntity)
        {
            throw new NotImplementedException();
        }

        protected override bool AreDCAndEntityEqual(CompactGroupOfPeopleDC pDC, GroupOfPeople pEntity)
        {
            return pDC.GroupOfPeopleOid == pEntity.Oid;
        }
    }
}