using System.IO;
using BeWo.Data.Entities;

using BS.Shared.DataContracts;

namespace BeWo.Service.DCEntityMapper
{
    public class EmployeeAPPCodeDC_EmployeeAPPCode : AbstractIDCEntityMapper<EmployeeAPPCode, EmployeeAPPCodeDC>
    {
        public override EmployeeAPPCodeDC MergeWithDC(EmployeeAPPCode pEntity, EmployeeAPPCodeDC pDataContract)
        {

            pDataContract.EmployeeOid = pEntity.EmployeeOid;
            pDataContract.EmployeeCodeGenDate = pEntity.EmployeeCodeGenDate;
            pDataContract.EmployeeCode = pEntity.EmployeeCode;
            pDataContract.IsChatAktive = pEntity.IsChatAktiv;
            pDataContract.NotfallStatement = pEntity.NotfallStatement;
        
            return pDataContract;
        }

        public override EmployeeAPPCode MergeWithEntity(EmployeeAPPCodeDC pDataContract, EmployeeAPPCode pEntity)
        {
            pEntity.EmployeeOid = pDataContract.EmployeeOid;
            pEntity.EmployeeCodeGenDate = pDataContract.EmployeeCodeGenDate;
            pEntity.EmployeeCode = pDataContract.EmployeeCode;
            pEntity.IsChatAktiv = pDataContract.IsChatAktive;
            pEntity.NotfallStatement = pDataContract.NotfallStatement;
            
            return pEntity;
        }

        protected override bool AreDCAndEntityEqual(EmployeeAPPCodeDC pDC, EmployeeAPPCode pEntity)
        {

            if (pDC.EmployeeAPPCodeOid == null)
            {
                return false;
            }

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