public async Task <IActionResult> Post([FromBody] SubscriptionMonthPromotionViewModel subscriptionMonthPromotionVm) { if (subscriptionMonthPromotionVm == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var newItem = Mapper.Map <SubscriptionMonthPromotion>(subscriptionMonthPromotionVm); newItem.SetCreation(UserName); foreach (var bonus in newItem.SubscriptionMonthPromotionBonuses) { bonus.SetCreation(UserName); foreach (var date in bonus.SubscriptionMonthPromotionBonusDates) { date.Date = date.Date.ToLocalTime(); date.SetCreation(UserName); } } _subscriptionMonthPromotionRepository.Add(newItem); if (!await UnitOfWork.SaveAsync()) { return(StatusCode(500, "保存时出错")); } var vm = Mapper.Map <SubscriptionMonthPromotionViewModel>(newItem); return(CreatedAtRoute("GetSubscriptionMonthPromotion", new { id = vm.Id }, vm)); }
public async Task <IActionResult> Put(int id, [FromBody] SubscriptionMonthPromotionViewModel subscriptionMonthPromotionVm) { if (subscriptionMonthPromotionVm == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var dbItem = await _subscriptionMonthPromotionRepository.GetSingleAsync(id); if (dbItem == null) { return(NotFound()); } Mapper.Map(subscriptionMonthPromotionVm, dbItem); dbItem.SetModification(UserName); _subscriptionMonthPromotionRepository.Update(dbItem); if (!await UnitOfWork.SaveAsync()) { return(StatusCode(500, "保存时出错")); } var vm = Mapper.Map <SubscriptionMonthPromotionViewModel>(dbItem); return(Ok(vm)); }