コード例 #1
0
        public IActionResult Save(int vehicleId, RepairFormModel formModel)
        {
            try
            {
                var validator = new RepairValidator();
                var results   = validator.Validate(formModel);

                if (results.Errors.Any())
                {
                    foreach (var error in results.Errors)
                    {
                        ModelState.AddModelError(error.PropertyName, error.ErrorMessage);
                    }
                }

                if (!ModelState.IsValid)
                {
                    return(View("RepairForm", formModel));
                }

                var repair = (formModel.RepairId == AppStrings.NotSet) ?
                             _mapper.Map <Repair>(formModel) :
                             _mapper.Map <RepairFormModel, Repair>(formModel, _repairService.GetRepair(formModel.RepairId));

                _repairService.SaveRepair(repair);

                TempData["SuccessMessage"] = AppStrings.RepairSavedSuccessMsg;

                if (formModel.AddAnotherRepair)
                {
                    return(RedirectToAction(nameof(Edit), new { vehicleId }));
                }

                return(RedirectToAction("Details", "Vehicle", new { id = vehicleId }));
            }
            catch (RepairNotFoundException ex)
            {
                _logger.LogWarning(ex.Message);
                TempData["ErrorMessage"] = AppStrings.GenericErrorMsg;
                return(RedirectToAction("Details", "Vehicle", new { id = vehicleId }));
            }
            catch (Exception ex)
            {
                _logger.LogWarning($"Error occurred while attempting to save repair. {ex.Message}");
                TempData["ErrorMessage"] = AppStrings.GenericErrorMsg;
                return(RedirectToAction("Index", "Vehicle"));
            }
        }
コード例 #2
0
 public ActionResponse Save(RepairDto obj, Guid?userId = null)
 {
     try
     {
         var valResult = new RepairValidator().Validate(obj);
         if (valResult.IsValid)
         {
             var response = _repairRepository.Save(obj);
             return(response);
         }
         else
         {
             var valErrors = valResult.Errors.Select(e => e.ErrorMessage).ToArray();
             return(ActionResponse.Failure(valErrors));
         }
     }
     catch (Exception ex)
     {
         return(ActionResponse.Failure(ex.Message));
     }
 }