/// <summary>
        /// 编辑DataDictionary
        /// </summary>

        protected virtual async Task UpdateAsync(DataDictionaryEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

            var entity = await _entityRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _entityRepository.UpdateAsync(entity);
        }
        /// <summary>
        /// 新增DataDictionary
        /// </summary>

        protected virtual async Task <DataDictionaryEditDto> CreateAsync(DataDictionaryEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            // var entity = ObjectMapper.Map <DataDictionary>(input);
            input.CreationTime = DateTime.Now;
            var entity = input.MapTo <DataDictionary>();


            entity = await _entityRepository.InsertAsync(entity);

            return(entity.MapTo <DataDictionaryEditDto>());
        }
        /// <summary>
        /// 通过Id获取数据字典信息进行编辑或修改
        /// Id为空时返回新对象
        /// </summary>
        public async Task <DataDictionaryForEdit> GetForEditAsync(NullableIdDto <int> input)
        {
            DataDictionaryEditDto dataDictionaryEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _dataDictionaryRepository.GetAsync(input.Id.Value);

                dataDictionaryEditDto = entity.MapTo <DataDictionaryEditDto>();
            }
            else
            {
                dataDictionaryEditDto = new DataDictionaryEditDto();
            }
            return(new DataDictionaryForEdit {
                DataDictionaryEditDto = dataDictionaryEditDto
            });
        }
        /// <summary>
        /// 获取编辑 DataDictionary
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>

        public async Task <GetDataDictionaryForEditOutput> GetForEditAsync(NullableIdDto <int> input)
        {
            var output = new GetDataDictionaryForEditOutput();
            DataDictionaryEditDto editDto;

            if (input.Id.HasValue)
            {
                var entity = await _entityRepository.GetAsync(input.Id.Value);

                editDto = entity.MapTo <DataDictionaryEditDto>();

                //dataDictionaryEditDto = ObjectMapper.Map<List<dataDictionaryEditDto>>(entity);
            }
            else
            {
                editDto = new DataDictionaryEditDto();
            }

            output.DataDictionary = editDto;
            return(output);
        }