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")); } }
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)); } }