예제 #1
0
        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;
            }
        }