public async Task <OrganizationDto> UpdateAsync(Guid id, CreateUpdateOrganizationDto dto) { var entity = await _repository.GetAsync(id); entity.UpdateTitle(dto.Title); await _repository.UpdateAsync(entity, true); return(ObjectMapper.Map <OrganizationUnit, OrganizationDto>(entity)); }
public async Task <OrganizationDto> CreateAsync(CreateUpdateOrganizationDto dto) { if (dto.ParentId.HasValue) { //添加下级节点 var parent = await _repository.GetAsync(dto.ParentId.Value); parent.AddChildrenNode(dto.Title); await _repository.UpdateAsync(parent, true); return(ObjectMapper.Map <OrganizationUnit, OrganizationDto>(parent)); } else { var rootCount = _repository.Count(b => b.ParentId == null); var id = GuidGenerator.Create(); //添加根节点 var rootNode = new OrganizationUnit(id, null, dto.Title, rootCount); await _repository.InsertAsync(rootNode, true); return(ObjectMapper.Map <OrganizationUnit, OrganizationDto>(rootNode)); } }