public async Task <IActionResult> AddTableAppointment([Bind("TableId, AppointmentId")] TableAppointmentViewModel viewModel) { var tableAppointmentResult = await _tableService.AddTableAppointmentAsync(viewModel.TableId, viewModel.AppointmentId); if (tableAppointmentResult.Succeeded) { return(RedirectToAction(nameof(Details), new { id = viewModel.TableId })); } else { var appointmentResult = await _appointmentService.GetEntitiesAsync(); if (appointmentResult.Succeeded) { List <SelectListItem> selectList = appointmentResult.Value.Select(a => new SelectListItem { Value = a.Id.ToString(), Text = string.Join(" - ", a.Start, a.End) }).ToList(); viewModel.Appointments.AddRange(selectList); } ModelState.AddModelStateErrors(tableAppointmentResult.Errors); return(View(viewModel)); } }