public async Task <ActionResult> CompleteSchedule(CompleteScheduleViewModel model) { if (ModelState.IsValid) { var service = await _serviceRepository.GetByIdAsync(model.ServiceId); var activeSchedule = _converterHelper.ToActiveSchedule(model, service); var vehicle = await _vehicleRepository.GetByIdAsync(model.VehicleId); var dealership = await _dealershipRepository.GetByIdAsync(model.DealershipId); var scheduleDetail = _converterHelper.ToScheduleDetail(vehicle, activeSchedule, dealership); try { await _scheduleDetailRepository.CreateAsync(scheduleDetail); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { if (ex.InnerException.Message.Contains("duplicate")) { ModelState.AddModelError(string.Empty, "There is already a schedule for that service"); return(View(model)); } } } return(View(model)); }