60 lines
2.1 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|