public async Task <PipelineItemModel> Create(AuthorizedDto <PipelineItemDto> dto) { return(await Execute(async() => { using (UnitOfWork db = new UnitOfWork()) { PipelineItemEntity pipelineItemEntity = dto.Data.ToModel <PipelineItemModel>().ToEntity <PipelineItemEntity>(); pipelineItemEntity.PipelineItemSettingsValues = null; await db.GetRepo <PipelineItemEntity>().Create(pipelineItemEntity); await db.Save(); PipelineItemPrefabEntity prefab = await db.GetRepo <PipelineItemPrefabEntity>().Get(pipelineItemEntity.pipeline_item_prefab_id); RoleEntity ownerRole = await RoleService.GetCompanyOwnerRole(prefab.company_id, db); ownerRole.PipelineItemPermissions.Add(pipelineItemEntity); RoleEntity creatorRole = await RoleService.GetCompanyWorkerRole(dto.Session.UserId, db); creatorRole?.PipelineItemPermissions.Add(pipelineItemEntity); await db.Save(); return pipelineItemEntity.ToModel <PipelineItemModel>(); } })); }
public async Task <PipelineItemPrefabModel> CreatePipelineItemPrefab(AuthorizedDto <PipelineItemPrefabDto> dto) { return(await Execute(async() => { using (UnitOfWork db = new UnitOfWork()) { PipelineItemPrefabEntity pipelineItemPrefabEntity = dto.Data.ToModel <PipelineItemPrefabModel>().ToEntity <PipelineItemPrefabEntity>(); await db.GetRepo <PipelineItemPrefabEntity>().Create(pipelineItemPrefabEntity); await db.Save(); return pipelineItemPrefabEntity.ToModel <PipelineItemPrefabModel>(); } })); }