public async Task <JsonResult> ConsultarCedula(string cedula)
        {
            var paciente = await _context.Pacientes
                           .FirstOrDefaultAsync(m => m.Cedula == cedula);

            if (paciente == null)
            {
                paciente = new Paciente();
            }

            var consultaTerapia = await _context.ConsultaTerapias
                                  .Include(c => c.Medico).Include(c => c.Diagnostico).Include(c => c.Terapia).Include(c => c.Paciente).FirstOrDefaultAsync(x => x.PacienteId == paciente.PacienteId);

            if (consultaTerapia == null)
            {
                consultaTerapia = new ConsultaTerapia();
            }
            consultaTerapia.Paciente = paciente;

            return(this.Json(new ConsultaTerapia {
                ConsultaTerapiaId = consultaTerapia.ConsultaTerapiaId,
                CantidadTerapiaSemana = consultaTerapia.CantidadTerapiaSemana,
                FechaActual = consultaTerapia.FechaActual,
                TotalSecciones = consultaTerapia.TotalSecciones,
                Paciente = consultaTerapia.Paciente,
                PacienteId = paciente.PacienteId,
                DadoDeAlta = consultaTerapia.DadoDeAlta
            }));
        }
        public async Task <IActionResult> Create([Bind("ConsultaTerapiaId,Cedula,PacienteNombre,DiagnosticoId,MedicoId,TerapiaId,DadoDeAlta,CantidadTerapiaSemana,TotalSecciones")] ConsultaTerapiaViewModel consultaTerapia)
        {
            if (ModelState.IsValid)
            {
                var paciente = await _context.Pacientes
                               .FirstOrDefaultAsync(m => m.Cedula == consultaTerapia.Cedula);

                if (!PacienteExists(consultaTerapia.Cedula))
                {
                    paciente = new Paciente
                    {
                        Cedula         = consultaTerapia.Cedula,
                        PacienteNombre = consultaTerapia.PacienteNombre
                    };
                    _context.Add(paciente);
                    await _context.SaveChangesAsync();
                }

                var objConsultaTerapia = new ConsultaTerapia
                {
                    PacienteId            = paciente.PacienteId,
                    FechaActual           = DateTime.Now,
                    MedicoId              = consultaTerapia.MedicoId,
                    DiagnosticoId         = consultaTerapia.DiagnosticoId,
                    TerapiaId             = consultaTerapia.TerapiaId,
                    DadoDeAlta            = consultaTerapia.DadoDeAlta,
                    CantidadTerapiaSemana = consultaTerapia.CantidadTerapiaSemana,
                    TotalSecciones        = consultaTerapia.TotalSecciones + 1
                };
                _context.Add(objConsultaTerapia);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            var listaMedicos = await ListaMedicos(consultaTerapia.DiagnosticoId);

            var listaTerapias = await ListaTerapias(consultaTerapia.DiagnosticoId);

            ViewData["DiagnosticoId"] = new SelectList(_context.Diagnosticos, "DiagnosticoId", "DiagnosticoNombre", consultaTerapia.DiagnosticoId);
            ViewData["MedicoId"]      = new SelectList(listaMedicos, "MedicoId", "Nombre", consultaTerapia.MedicoId);
            ViewData["TerapiaId"]     = new SelectList(listaTerapias, "TerapiaId", "TerapiaNombre", consultaTerapia.TerapiaId);
            return(View(consultaTerapia));
        }