コード例 #1
0
        public async Task <IActionResult> Create(Consulta consulta)
        {
            if (!ModelState.IsValid)
            {
                var medicos = await _medicoService.FindAllAsync();

                var viewModel = new ConsultaFormViewModel {
                    Consulta = consulta, Medicos = medicos
                };
                return(View(viewModel));
            }

            //A data final não pode ser menor que a data inicial
            if (consulta.DiaHoraFinalConsulta <= consulta.DiaHoraInicialConsulta)
            {
                return(RedirectToAction(nameof(Error), new { message = "Dia e hora final da consulta não permitido" }));
            }

            //O sistema não deve permitir o agendamento de duas ou mais consultas no mesmo range de datas
            var obj = await _consultaService.FindByDateAsync(consulta.DiaHoraInicialConsulta, consulta.DiaHoraFinalConsulta, consulta.MedicoId);

            if (obj == null)
            {
                await _consultaService.InsertAsync(consulta);

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(RedirectToAction(nameof(Error), new { message = "Data e hora já agendada para este médico" }));
            }
        }
コード例 #2
0
        public async Task <IActionResult> SimpleSearch(DateTime?minDate, DateTime?maxDate)
        {
            if (!minDate.HasValue)
            {
                minDate = new DateTime(DateTime.Now.Year, 1, 1);
            }
            if (!maxDate.HasValue)
            {
                maxDate = DateTime.Now;
            }
            ViewData["minDate"] = minDate.Value.ToString("yyyy-MM-dd");
            ViewData["maxDate"] = maxDate.Value.ToString("yyyy-MM-dd");
            var result = await _consultaService.FindByDateAsync(minDate, maxDate);

            return(View(result));
        }