public async Task <IActionResult> Create(Consulta consulta) { try { consulta.ConsultaSituacaoId = (int)ConsultaSituacaoEnum.Aberta; if (!ModelState.IsValid) { List <Medico> medicos = await _medicoService.GetAllMedicos(); ConsultaFormViewModel consultaFormViewModel = new ConsultaFormViewModel { Consulta = consulta, Medicos = medicos }; return(View(consultaFormViewModel)); } if (await _consultaService.VerificaDuplicidadeDeConsultaPorMedicoeHorario(consulta)) { return(RedirectToAction(nameof(Erro), new { mensagem = "Já existe consulta marcada para a data e horário informados com o mesmo médico" })); } await _consultaService.AddConsultaAsync(consulta); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { throw ex; } }