예제 #1
0
        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)));
        }
예제 #2
0
        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*/
예제 #3
0
        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 }));
        }