/// <inheritdoc/>
        public WorkType CreateWorkType(WorkTypeCreateDto dto)
        {
            var now    = DateUtil.Now;
            var entity = new WorkTypeTableEntity
            {
                WorkTypeId   = Guid.NewGuid(),
                WorkTypeCode = dto.WorkTypeCode,
                WorkTypeTree = dto.WorkTypeTree,
                Name         = dto.Name,
                Description  = dto.Description,
                Status       = dto.Status,
                SortNo       = dto.SortNo,
                CreateTime   = now,
                UpdateTime   = now,
            };

            using (var tran = new TransactionScope())
            {
                _workTypeRepository.Create(entity);

                foreach (var tag in dto.Tags)
                {
                    _tagRepository.Create(new TagTableEntity
                    {
                        TagId       = Guid.NewGuid(),
                        TargetId    = entity.WorkTypeId,
                        Value       = tag,
                        TargetTable = "WorkType",
                        CreateTime  = now,
                    });
                }

                tran.Complete();
            }
            return(_workTypeQueryService.GetWorkType(entity.WorkTypeId));
        }