public async Task <IActionResult> Edit(int id, [Bind("IdMedico,Nombre,Apellido,Direccion,Telefono,Email,HorarioAtencionDesde,HorarioAtencionHasta")] Medico medico, int IdEspecialidad) { if (id != medico.IdMedico) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(medico); await _context.SaveChangesAsync(); var medicoEspecialidad = await _context.MedicoEspecialidad .FirstOrDefaultAsync(me => me.IdMedico == id); // Elimina el registro _context.Remove(medicoEspecialidad); await _context.SaveChangesAsync(); medicoEspecialidad.IdEspecialidad = IdEspecialidad; _context.Add(medicoEspecialidad); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MedicoExists(medico.IdMedico)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(medico)); }