Files
BeWoPlaner/Service/DCEntityMapper/AiPromptbausteinRoutineDC_AiPromptbausteinRoutine.cs
2026-04-21 14:40:09 +02:00

60 lines
2.1 KiB
C#

using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.ServiceImplementations;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Feature.AI;
namespace BeWo.Service.DCEntityMapper
{
public class AiPromptbausteinRoutineDC_AiPromptbausteinRoutine : BeWoDataContract_BeWoEntityBase<AiPromptbausteinRoutine, AiPromptbausteinRoutineDC>
{
public override AiPromptbausteinRoutineDC MergeWithDC(AiPromptbausteinRoutine pEntity, AiPromptbausteinRoutineDC pDataContract)
{
base.MergeWithDC(pEntity, pDataContract);
pDataContract.Title = pEntity.Title;
pDataContract.Description = pEntity.Description;
pDataContract.ParentFolderOid = pEntity.ParentFolderOid;
pDataContract.IsPublic = pEntity.IsPublic;
pDataContract.Position = pEntity.Position;
pDataContract.IsFavorite = pEntity.IsFavorite;
pDataContract.ActionType = pEntity.ActionType;
pDataContract.CanEdit = pEntity.CanEdit;
pDataContract.Steps = MapperFactory.AiPromptbausteinRoutineStep.MapToNewDCs(pEntity.Steps);
if (pEntity.CreatorOid is long oid)
pDataContract.Creator = new EmployeeServiceImp().GetActiveCompactEmployeeWithOid(oid);
return pDataContract;
}
public override AiPromptbausteinRoutine MergeWithEntity(AiPromptbausteinRoutineDC pDataContract, AiPromptbausteinRoutine pEntity)
{
base.MergeWithEntity(pDataContract, pEntity);
pEntity.Title = pDataContract.Title;
pEntity.Description = pDataContract.Description;
pEntity.ParentFolderOid = pDataContract.ParentFolderOid;
pEntity.CreatorOid = pDataContract.Creator.EmployeeOid;
pEntity.IsPublic = pDataContract.IsPublic;
pEntity.Position = pDataContract.Position;
pEntity.IsFavorite = pDataContract.IsFavorite;
pEntity.ActionType = pDataContract.ActionType;
pEntity.CanEdit = pDataContract.CanEdit;
pEntity.Steps = DAOFactory.GenericDAO.LoadByIDs<AiPromptbausteinRoutineStep>(pDataContract.Steps.Select(x => x.Oid.Value));
if (pDataContract.ParentFolderOid is long oid && oid >= 0)
pEntity.ParentFolderOid = pDataContract.ParentFolderOid;
return pEntity;
}
}
}