public IActionResult Delete(AirBagDetailViewModel vm) { //再読み込み var condition = _mapper.MapToAirBagPutCondition(vm); SetPutConditionBase(condition); var result = _service.Delete(condition); if (result.Succeeded) { TempLastUpdatedAt = result.LastUpdatedAt; } else { SetMessages(vm, result); TempData.Put(TEMP_AIRBAG_DETAIL_KEY, vm); return(RedirectToAction(nameof(Detail), new { airbagId = vm.AirBagId })); } var successMessage = result.SuccessMessage; TempData.Put(TEMP_AIRBAG_SUCCESS_KEY, successMessage); return(RedirectToAction(nameof(List))); }
public async Task <IActionResult> Detail(string airBagId) { var vm = new AirBagDetailViewModel(); //PostBack時 if (TempData.ContainsKey(TEMP_AIRBAG_DETAIL_KEY)) { vm = TempData.Get <AirBagDetailViewModel>(TEMP_AIRBAG_DETAIL_KEY); MergeToModelState(vm); return(View(vm)); } //更新の場合 if (!string.IsNullOrEmpty(airBagId) && int.TryParse(airBagId, out var id)) { var condition = await _service.GetByAirBagId(id); TempLastUpdatedAt = condition.LastUpdatedAt; vm = _mapper.MapToAirBagDetailViewModel(condition); return(View(vm)); } else { return(View(vm)); } } /*Detail*/
public IActionResult Update(AirBagDetailViewModel vm) { if (!ModelState.IsValid) { MergeToModelStateTransfers(vm); TempData.Put(TEMP_AIRBAG_DETAIL_KEY, vm); return(RedirectToAction(nameof(Detail))); } var condition = _mapper.MapToAirBagPutCondition(vm); SetPutConditionBase(condition); var result = _service.Update(condition); if (result.Succeeded) { // ポストバック時の排他によるエラー回避のためTempUpdatedAtに登録日時を詰める TempLastUpdatedAt = result.LastUpdatedAt; } SetMessages(vm, result); TempData.Put(TEMP_AIRBAG_DETAIL_KEY, vm); return(RedirectToAction(nameof(Detail), new { airBagId = vm.AirBagId })); }