public async Task <IActionResult> Put(int id, [FromBody] ProductForSubscriptionViewModel productForSubscriptionVm)
        {
            if (productForSubscriptionVm == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var dbItem = await _productForSubscriptionRepository.GetSingleAsync(id);

            if (dbItem == null)
            {
                return(NotFound());
            }
            Mapper.Map(productForSubscriptionVm, dbItem);
            _productForSubscriptionRepository.SetPrice(dbItem);
            dbItem.SetModification(UserName);
            _productForSubscriptionRepository.Update(dbItem);
            if (!await UnitOfWork.SaveAsync())
            {
                return(StatusCode(500, "保存时出错"));
            }
            var vm = Mapper.Map <ProductForSubscriptionViewModel>(dbItem);

            return(Ok(vm));
        }
        public async Task <IActionResult> Post([FromBody] ProductForSubscriptionViewModel productForSubscriptionVm)
        {
            if (productForSubscriptionVm == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var newItem = Mapper.Map <ProductForSubscription>(productForSubscriptionVm);

            _productForSubscriptionRepository.SetPrice(newItem);
            newItem.SetCreation(UserName);
            _productForSubscriptionRepository.Add(newItem);
            if (!await UnitOfWork.SaveAsync())
            {
                return(StatusCode(500, "保存时出错"));
            }

            var vm = Mapper.Map <ProductForSubscriptionViewModel>(newItem);

            return(CreatedAtRoute("GetProductForSubscription", new { id = vm.Id }, vm));
        }