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>();
                }
            }));
        }
Пример #2
0
        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>();
                }
            }));
        }