/// <summary>
        /// 创建商品分类
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <ProductTagEditDto> CreateProductTagAsync(ProductTagEditDto input)
        {
            var entity = input.MapTo <ProductTag>();

            entity = await _entityRepository.InsertAsync(entity);

            return(entity.MapTo <ProductTagEditDto>());
        }
        /// <summary>
        /// 修改商品分类
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <ProductTagEditDto> EditProductTagAsync(ProductTagEditDto input)
        {
            var entity = await _entityRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);
            await _entityRepository.UpdateAsync(entity);

            return(entity.MapTo <ProductTagEditDto>());
        }
        protected virtual async Task Update(ProductTagEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

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

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _entityRepository.UpdateAsync(entity);
        }
        /// <summary>
        /// 新增ProductTag
        /// </summary>
        protected virtual async Task <ProductTagEditDto> Create(ProductTagEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            // var entity = ObjectMapper.Map <ProductTag>(input);
            var entity = input.MapTo <ProductTag>();


            entity = await _entityRepository.InsertAsync(entity);

            return(entity.MapTo <ProductTagEditDto>());
        }
        public async Task <GetProductTagForEditOutput> GetForEdit(NullableIdDto <int> input)
        {
            var output = new GetProductTagForEditOutput();
            ProductTagEditDto editDto;

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

                editDto = entity.MapTo <ProductTagEditDto>();

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

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