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)); }
public ActiveSchedule ToActiveSchedule(CompleteScheduleViewModel model, Service service) { return(new ActiveSchedule { IsActive = true, CreationDate = DateTime.Now, ScheduleDay = model.Day, Remarks = model.Remarks, Services = service, Mileage = model.Mileage }); }