/// <summary> /// Reestablece una visita /// </summary> /// <param name="idEvolucion">id de la visita a reestablecer</param> /// <returns>canidad de registros afectados</returns> public int ReestablecerVisita(int?idEvolucion) { int rpta = 0; try { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (idEvolucion != null) { tblEvolucion tblEvolucion = bd.tblEvolucion.Where(p => p.idEvolucion == idEvolucion).First(); tblEvolucion.habilitado = 1; rpta = bd.SaveChanges(); } else { rpta = 0; } } } catch (Exception ex) { Console.WriteLine(ex.Message); rpta = 0; } return(rpta); }
/// <summary> /// Eliminación de un usuario de la base de datos /// </summary> /// <param name="idUsuario">Id del usuario a eliminarse</param> /// <returns>Cantidad de registros afectados</returns> public int Eliminar(int idUsuario) { int rpta = 0; try { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { //Busqueda del usuario que coindida con el id de entrada tblUsuario usuario = (from user in bd.tblUsuario where user.idUsuario == idUsuario select user).First(); if (usuario != null) //si el usuario existe se elimina { bd.tblUsuario.Remove(usuario); rpta = bd.SaveChanges(); } else//Error { rpta = 0; } } } catch (Exception ex) { Console.WriteLine(ex.Message); rpta = 0; } return(rpta); }
/// <summary> /// Filtro de busqueda en base al string de entrada /// </summary> /// <param name="busqueda"></param> /// <returns>Vista parcial con los resultados de conicidencia</returns> public ActionResult Filtro(String busqueda) { List <Cie10CLS> listaEnfermedades = new List <Cie10CLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (busqueda == null || busqueda == "") { listaEnfermedades.Add(new Cie10CLS { codigo = "", enfermedad = "Ingrese código o término exacto" }); } else { listaEnfermedades = (from cie10 in bd.tblCIE10 where cie10.enfermedad.Contains(busqueda) || cie10.codigo.Contains(busqueda) select new Cie10CLS { codigo = cie10.codigo, enfermedad = cie10.enfermedad, titulo = cie10.titulo, capitulo = cie10.capitulo }).ToList(); } return(PartialView("_TablaCIE", listaEnfermedades)); } }
/// <summary> /// Restablecimiento de pacientes /// </summary> /// <param name="idPaciente">id del paciente a reestablecer</param> /// <returns>cantidad de registros afectados</returns> public int ReestablecerPaciente(int?idPaciente) { int rpta = 0; try { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (idPaciente != null) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente == idPaciente).First(); tblHistoriaClinica tblHistoriaClinica = bd.tblHistoriaClinica.Where(p => p.idPaciente == tblPaciente.idPaciente).First(); List <tblEvolucion> listaEvoluciones = bd.tblEvolucion.Where(p => p.idHistoriaClinica == tblHistoriaClinica.idHistoriaClinica && p.habilitado == 0).ToList(); foreach (var item in listaEvoluciones) { item.habilitado = 1; } tblHistoriaClinica.habilitado = 1; tblPaciente.habilitado = 1; rpta = bd.SaveChanges(); } else { rpta = 0; } } } catch (Exception ex) { Console.WriteLine(ex.Message); rpta = 0; } return(rpta); }
/// <summary> /// GET: Evolucion /// </summary> /// <param name="idPaciente">id del paciente en consulta</param> /// <returns>Vista Index con los datos de evolución de un paciente</returns> public ActionResult Index(int idPaciente) { List <EvolucionCLS> listaEvoluciones = new List <EvolucionCLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente.Equals(idPaciente)).First(); ViewBag.nombrePaciente = tblPaciente.nombres + " " + tblPaciente.apellidos; ViewBag.idPaCiente = tblPaciente.idPaciente; tblHistoriaClinica tblHistoriaClinica = bd.tblHistoriaClinica.Where(p => p.idPaciente == tblPaciente.idPaciente).First(); ViewBag.idHistoriaClinica = tblHistoriaClinica.idHistoriaClinica; listaEvoluciones = (from evolucion in bd.tblEvolucion join historiaClinica in bd.tblHistoriaClinica on evolucion.idHistoriaClinica equals historiaClinica.idHistoriaClinica join paciente in bd.tblPaciente on historiaClinica.idPaciente equals paciente.idPaciente where evolucion.habilitado == 1 && paciente.idPaciente == idPaciente select new EvolucionCLS { idEvolucion = evolucion.idEvolucion, motivoConsulta = evolucion.motivoConsulta, fechaVisita = (DateTime)evolucion.fechaVisita }).ToList(); } return(View(listaEvoluciones)); }
/// <summary> /// Filtro de busqueda en base a los parametros de entrada /// </summary> /// <param name="nombreUsuario">Busqueda por nombre</param> /// <returns>vista parcial con la lista de coincidencias de la busqueda</returns> public ActionResult Filtro(String nombreUsuario) { List <UsuarioCLS> listaUsuario = new List <UsuarioCLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (nombreUsuario == null) //Si el criterio de busqueda es nulo devuelve todos los usuarios { listaUsuario = (from usuario in bd.tblUsuario select new UsuarioCLS { idUsuario = usuario.idUsuario, nombreUsuario = usuario.nombresUsuario + " " + usuario.apellidosUsuario, rolUsuario = usuario.rolUsuario, aliasUsuario = usuario.aliasUsuario, correoUsuario = usuario.correoUsuario }).ToList(); } else //coincidencias con el criterio de busqueda { listaUsuario = (from usuario in bd.tblUsuario where (usuario.nombresUsuario.Contains(nombreUsuario) || usuario.apellidosUsuario.Contains(nombreUsuario)) select new UsuarioCLS { idUsuario = usuario.idUsuario, nombreUsuario = usuario.nombresUsuario + " " + usuario.apellidosUsuario, rolUsuario = usuario.rolUsuario, aliasUsuario = usuario.aliasUsuario, correoUsuario = usuario.correoUsuario }).ToList(); } return(PartialView("_TablaUsuarios", listaUsuario));//Vista parcial con resultados de busqueda } }
/// <summary> /// Elimina un registro de visita /// </summary> /// <param name="idEvolucion">id de la Evolución a eliminar</param> /// <returns>cantidad de registros afectados</returns> public int EliminarVisita(int?idEvolucion) { int rpta = 0; try { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (idEvolucion != null) { tblEvolucion tblEvolucion = bd.tblEvolucion.Where(p => p.idEvolucion == idEvolucion).First(); List <tblFotos> listaFotos = bd.tblFotos.Where(p => p.idEvolucion == tblEvolucion.idEvolucion).ToList(); foreach (var item in listaFotos) { bd.tblFotos.Remove(item); } bd.tblEvolucion.Remove(tblEvolucion); rpta = bd.SaveChanges(); } else { rpta = 0; } } } catch (Exception ex) { Console.WriteLine(ex.Message); rpta = 0; } return(rpta); }
/// <summary> /// verificación de identidad /// </summary> /// <param name="usuarioCLS">credenciales de atenticación</param> /// <returns>mensaje de error o exito</returns> public string Login(UsuarioCLS usuarioCLS) { string mensaje = ""; //se remueven los ´parámetros de usuario no empleados en la autenticación ModelState.Remove("apellidoUsuario"); ModelState.Remove("cedulaUsuario"); ModelState.Remove("nombreUsuario"); ModelState.Remove("rolUsuario"); ModelState.Remove("correoUsuario"); //verificación de los datos llenos if (!ModelState.IsValid) { var query = (from state in ModelState.Values //valores from error in state.Errors //mensajes select error.ErrorMessage).ToList(); mensaje += "<ul class='list-group'>"; foreach (var item in query) { mensaje += "<li class='list-group-item'>" + item + "</li>"; } mensaje += "</ul>"; } else { string aliasUsuario = usuarioCLS.aliasUsuario; string contraseñaUsuario = usuarioCLS.contraseñaUsuario; //Cifrar y comparar con lo de la bdd SHA256Managed sha = new SHA256Managed(); byte[] byteContra = Encoding.Default.GetBytes(contraseñaUsuario); byte[] byteContraCifrado = sha.ComputeHash(byteContra); string cadenaContraCifrada = BitConverter.ToString(byteContraCifrado).Replace("-", ""); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { int numeroVeces = bd.tblUsuario.Where(p => p.aliasUsuario == aliasUsuario && p.contraseñaUsuario == cadenaContraCifrada).Count(); if (numeroVeces == 1)//existe un usuario con esos datos { tblUsuario tblUsuario = bd.tblUsuario.Where(p => p.aliasUsuario == aliasUsuario && p.contraseñaUsuario == cadenaContraCifrada).First(); mensaje = tblUsuario.rolUsuario; //Todo el objeto Usuario para el session Session["Usuario"] = tblUsuario; //Variable session para permitir ciertas vistas de acuerdo al rol de usuario Session["Rol"] = tblUsuario.rolUsuario; Session["NombreUsuario"] = tblUsuario.nombresUsuario + " " + tblUsuario.apellidosUsuario; Session["cedula"] = tblUsuario.cedulaUsuario; Session["codigoMSP"] = tblUsuario.codigoMSP; } } } return(mensaje); }
/// <summary> /// Acción para desactivar una evolución /// </summary> /// <param name="idEvolucion">id de la evolución a desactivarse</param> /// <returns>Retorna al index de evoluciones del paciente</returns> public ActionResult Desactivar(int idEvolucion) { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblEvolucion tblEvolucion = bd.tblEvolucion.Where(p => p.idEvolucion == idEvolucion).First(); tblEvolucion.habilitado = 0; bd.SaveChanges(); tblHistoriaClinica tblHistoriaClinica = bd.tblHistoriaClinica.Where(p => p.idHistoriaClinica == tblEvolucion.idHistoriaClinica).First(); return(RedirectToAction("Index", new { idPaciente = tblHistoriaClinica.idPaciente })); } }
public void llenarSeguros() { List <SelectListItem> listaSeguros; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaSeguros = (from seguros in bd.tblSeguroMedico select new SelectListItem { Text = seguros.nombreSeguro, Value = seguros.idSeguroMedico.ToString() }).ToList(); listaSeguros.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaSeguros = listaSeguros; } }
private void llenarReligion() { List <SelectListItem> listaReligion; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaReligion = (from religion in bd.tblReligion select new SelectListItem { Text = religion.nombreReligion, Value = religion.idReligion.ToString() }).ToList(); listaReligion.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaReligion = listaReligion; } }
private void llenarLateralidad() { List <SelectListItem> listaLateralidad; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaLateralidad = (from lateralidad in bd.tblLateralidad select new SelectListItem { Text = lateralidad.nombreLateralidad, Value = lateralidad.idLateralidad.ToString() }).ToList(); listaLateralidad.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaLateralidad = listaLateralidad; } }
private void llenarTipoDiscpacidad() { List <SelectListItem> listaTipoDiscapacidad; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaTipoDiscapacidad = (from tipoDiscapacidad in bd.tblTipoDiscapacidad select new SelectListItem { Text = tipoDiscapacidad.tipo, Value = tipoDiscapacidad.idTipoDiscapacidad.ToString() }).ToList(); listaTipoDiscapacidad.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaTipoDiscapacidad = listaTipoDiscapacidad; } }
private void llenarOrientacionSexual() { List <SelectListItem> listaOrientacionSexual; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaOrientacionSexual = (from orientacionSexual in bd.tblOrientacionSexual select new SelectListItem { Text = orientacionSexual.nombreOrientacionSexual, Value = orientacionSexual.idOrientacionSexual.ToString() }).ToList(); listaOrientacionSexual.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaOrientacionSexual = listaOrientacionSexual; } }
private void llenarIdentidadGenero() { List <SelectListItem> listaIdentidadGenero; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaIdentidadGenero = (from identidadGenero in bd.tblIdentidadGenero select new SelectListItem { Text = identidadGenero.nombreIdentidadGenero, Value = identidadGenero.idIdentidadGenero.ToString() }).ToList(); listaIdentidadGenero.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaIdentidadGenero = listaIdentidadGenero; } }
/// <summary> /// GET: Usuario /// </summary> /// <returns>Vista Index con la lista de usuarios registrados</returns> public ActionResult Index() { List <UsuarioCLS> listaUsuario = new List <UsuarioCLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaUsuario = (from usuario in bd.tblUsuario select new UsuarioCLS { idUsuario = usuario.idUsuario, nombreUsuario = usuario.nombresUsuario + " " + usuario.apellidosUsuario, rolUsuario = usuario.rolUsuario, aliasUsuario = usuario.aliasUsuario, correoUsuario = usuario.correoUsuario }).ToList(); } return(View(listaUsuario)); }
public void llenarSangre() { List <SelectListItem> listaSangre; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaSangre = (from sangre in bd.tblTipoSangre select new SelectListItem { Text = sangre.sangre, Value = sangre.idTipoSangre.ToString() }).ToList(); listaSangre.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaSangre = listaSangre; } }
/// <summary> /// Cambia el estado habilitado a 0 de un paciente y su información relacionada /// </summary> /// <param name="idPaciente">id del paciente a ser desactivado</param> /// <returns>Vista Index</returns> public ActionResult Desactivar(int idPaciente) { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente.Equals(idPaciente)).First(); tblHistoriaClinica tblHistoriaClinica = bd.tblHistoriaClinica.Where(p => p.idPaciente == tblPaciente.idPaciente).First(); tblPaciente.habilitado = 0; tblHistoriaClinica.habilitado = 0; List <tblEvolucion> listaEvoluciones = bd.tblEvolucion.Where(p => p.idHistoriaClinica == tblHistoriaClinica.idHistoriaClinica).ToList(); foreach (var item in listaEvoluciones) { item.habilitado = 0; } bd.SaveChanges(); return(RedirectToAction("Index")); } }
/// <summary> /// GET: Paciente /// </summary> /// <returns>Vista Index con la lista de pacientes registrados</returns> public ActionResult Index() { List <PacienteCLS> listaPacientes = new List <PacienteCLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaPacientes = (from paciente in bd.tblPaciente where paciente.habilitado == 1 select new PacienteCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombres = paciente.nombres + " " + paciente.apellidos, } ).ToList(); } return(View(listaPacientes)); }
private void llenarEstadoCivil() { List <SelectListItem> listaEstadoCivil; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaEstadoCivil = (from estadoCivil in bd.tblEstadoCivil select new SelectListItem { Text = estadoCivil.nombreEstadoCivil, Value = estadoCivil.idEstadoCivil.ToString() }).ToList(); listaEstadoCivil.Insert(0, new SelectListItem { Text = "--Seleccione--", Value = "" }); ViewBag.listaEstadoCivil = listaEstadoCivil; } }
/// <summary> /// // GET: AdministracionPacientes /// </summary> /// <returns></returns> public ActionResult Index() { List <PacienteCLS> listaPacientesDesactivados = new List <PacienteCLS>(); List <EvolucionCLS> listaEvolucionesDesactivadas = new List <EvolucionCLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { listaPacientesDesactivados = (from historiaClinica in bd.tblHistoriaClinica join paciente in bd.tblPaciente on historiaClinica.idPaciente equals paciente.idPaciente where historiaClinica.habilitado == 0 && paciente.habilitado == 0 select new PacienteCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombres = paciente.nombres + " " + paciente.apellidos, idHistoriaClinica = historiaClinica.idHistoriaClinica }).ToList(); listaEvolucionesDesactivadas = (from evolucion in bd.tblEvolucion join historiaClinica in bd.tblHistoriaClinica on evolucion.idHistoriaClinica equals historiaClinica.idHistoriaClinica join paciente in bd.tblPaciente on historiaClinica.idPaciente equals paciente.idPaciente where evolucion.habilitado == 0 select new EvolucionCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombresPaciente = paciente.nombres + " " + paciente.apellidos, idHistoriaClinica = historiaClinica.idHistoriaClinica, idEvolucion = evolucion.idEvolucion, motivoConsulta = evolucion.motivoConsulta, fechaVisita = (DateTime)evolucion.fechaVisita }).ToList(); } ViewBag.listaPacientesDesactivados = listaPacientesDesactivados; ViewBag.listaEvolucionesDesactivadas = listaEvolucionesDesactivadas; return(View()); }
/// <summary> /// Accion para retornar la vista con información del paciente necesaria para crear una evolucion /// </summary> /// <param name="idHistoriaClinica">id de la historia clínica</param> /// <returns>Vista agregar con los datos del paciente e historia no visibles</returns> public ActionResult Agregar(int idHistoriaClinica) { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblHistoriaClinica tblHistoriaClinica = bd.tblHistoriaClinica.Where(p => p.idPaciente == idHistoriaClinica).First(); ViewBag.idHistoriaClinica = tblHistoriaClinica.idHistoriaClinica; ViewBag.idAntecedenteGinecoObstetrico = tblHistoriaClinica.idAntecedenteGinecoObstetrico; tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente == tblHistoriaClinica.idPaciente).First(); ViewBag.nombrePaciente = tblPaciente.nombres + " " + tblPaciente.apellidos; ViewBag.idPaciente = tblPaciente.idPaciente; ViewBag.fechaActual = System.DateTime.Now.ToString("yyyy-MM-dd"); tblEvolucion tblEvolucion = bd.tblEvolucion.ToList().Last(); } return(View()); }
/// <summary> /// Eliminación total de un paciente /// </summary> /// <param name="idPaciente">id del paciente a eleiminar</param> /// <returns>cantidad de registros afectado</returns> public int EliminarPaciente(int?idPaciente) { int rpta = 0; try { using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (idPaciente != null) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente == idPaciente).First(); tblHistoriaClinica tblHistoriaClinica = bd.tblHistoriaClinica.Where(p => p.idPaciente == tblPaciente.idPaciente).First(); List <tblEvolucion> listaEvoluciones = bd.tblEvolucion.Where(p => p.idHistoriaClinica == tblHistoriaClinica.idHistoriaClinica).ToList(); List <tblFotos> listaFotos = new List <tblFotos>(); foreach (var item in listaEvoluciones) { List <tblFotos> tblFotos = bd.tblFotos.Where(p => p.idEvolucion == item.idEvolucion).ToList(); foreach (var item2 in tblFotos) { bd.tblFotos.Remove(item2); } bd.tblEvolucion.Remove(item); } bd.tblHistoriaClinica.Remove(tblHistoriaClinica); bd.tblPaciente.Remove(tblPaciente); rpta = bd.SaveChanges(); } else { rpta = 0; } } } catch (Exception ex) { Console.WriteLine(ex.Message); rpta = 0; } return(rpta); }
/// <summary> /// Filtro en base a los criterios de búsqueda /// </summary> /// <param name="busqueda">Criterio de bpusqueda escrito, cédula o nombre</param> /// <returns>Lista con coincidencias de busqueda en la vista parcial</returns> public ActionResult Filtro(string busqueda) { List <PacienteCLS> listaPacientes = new List <PacienteCLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (busqueda == null) //Si la busqueda es nula devuelve todos los registros { listaPacientes = (from paciente in bd.tblPaciente where paciente.habilitado == 1 select new PacienteCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombres = paciente.nombres + " " + paciente.apellidos, } ).ToList(); } else //coincidencias de búsqueda { listaPacientes = (from paciente in bd.tblPaciente where paciente.habilitado == 1 && (paciente.nombres.Contains(busqueda) || paciente.apellidos.Contains(busqueda)) || paciente.cedula.Contains(busqueda) select new PacienteCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombres = paciente.nombres + " " + paciente.apellidos, } ).ToList(); } return(PartialView("_TablaPacientes", listaPacientes)); } }
/// <summary> /// Recuperación de contraseña con correo y cédula /// </summary> /// <param name="correo">correo al que se va a enviar la nueva contraseña</param> /// <param name="cedula">cedula del usuario</param> /// <returns>cantidad de registros afectados</returns> public string RecuperarContra(string correo, string cedula) { string mensaje = ""; using (var bd = new BDD_ConsultorioDermatologicoEntities()) { int cantidad = 0; cantidad = bd.tblUsuario.Where(p => p.correoUsuario == correo && p.cedulaUsuario == cedula).Count(); if (cantidad == 0) { mensaje = "No existe un a persona registrada con esa informacion"; } else { tblUsuario tblUsuario = bd.tblUsuario.Where(p => p.correoUsuario == correo && p.cedulaUsuario == cedula).First(); //Modificar su clave con un numero aleatorio de 4 cifras Random ra = new Random(); int n1 = ra.Next(1000, 9999); string nuevaContra = n1.ToString(); //cifrar clave SHA256Managed sha = new SHA256Managed(); byte[] byteContra = Encoding.Default.GetBytes(nuevaContra); byte[] byteContraCifrado = sha.ComputeHash(byteContra); string cadenaContraCifrada = BitConverter.ToString(byteContraCifrado).Replace("-", ""); tblUsuario.contraseñaUsuario = cadenaContraCifrada; //guardado de la nueva contraseña mensaje = bd.SaveChanges().ToString(); //Envio del correo Correo.enviarCorreo(correo, "RECUPERACION DE CLAVE - CONSULTORIO DERMATOLÓGICO", "Su clave ha sido reestablecida, su nueva clave es: " + nuevaContra, Server.MapPath("~/Resources/PersonasCorreo.txt")); } } return(mensaje); }
/// <summary> /// Filtro en base a nombre apellido o cedula /// </summary> /// <param name="busqueda">string de búsqueda</param> /// <returns>Vista con coincidencias en base al criterio de busqueda</returns> public ActionResult Filtro(String busqueda) { List <PacienteCLS> listaPacientesDesactivados = new List <PacienteCLS>(); List <EvolucionCLS> listaEvolucionesDesactivadas = new List <EvolucionCLS>(); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { if (busqueda == null) { listaPacientesDesactivados = (from historiaClinica in bd.tblHistoriaClinica join paciente in bd.tblPaciente on historiaClinica.idPaciente equals paciente.idPaciente where historiaClinica.habilitado == 0 && paciente.habilitado == 0 select new PacienteCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombres = paciente.nombres + " " + paciente.apellidos, idHistoriaClinica = historiaClinica.idHistoriaClinica }).ToList(); listaEvolucionesDesactivadas = (from evolucion in bd.tblEvolucion join historiaClinica in bd.tblHistoriaClinica on evolucion.idHistoriaClinica equals historiaClinica.idHistoriaClinica join paciente in bd.tblPaciente on historiaClinica.idPaciente equals paciente.idPaciente where evolucion.habilitado == 0 select new EvolucionCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombresPaciente = paciente.nombres + " " + paciente.apellidos, idHistoriaClinica = historiaClinica.idHistoriaClinica, idEvolucion = evolucion.idEvolucion, motivoConsulta = evolucion.motivoConsulta, fechaVisita = (DateTime)evolucion.fechaVisita }).ToList(); } else { listaPacientesDesactivados = (from historiaClinica in bd.tblHistoriaClinica join paciente in bd.tblPaciente on historiaClinica.idPaciente equals paciente.idPaciente where historiaClinica.habilitado == 0 && paciente.habilitado == 0 && ((paciente.cedula.Contains(busqueda) || (paciente.nombres.Contains(busqueda) || paciente.apellidos.Contains(busqueda)))) select new PacienteCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombres = paciente.nombres + " " + paciente.apellidos, idHistoriaClinica = historiaClinica.idHistoriaClinica }).ToList(); listaEvolucionesDesactivadas = (from evolucion in bd.tblEvolucion join historiaClinica in bd.tblHistoriaClinica on evolucion.idHistoriaClinica equals historiaClinica.idHistoriaClinica join paciente in bd.tblPaciente on historiaClinica.idPaciente equals paciente.idPaciente where evolucion.habilitado == 0 && ((paciente.cedula.Contains(busqueda) || (paciente.nombres.Contains(busqueda) || paciente.apellidos.Contains(busqueda)))) select new EvolucionCLS { idPaciente = paciente.idPaciente, cedula = paciente.cedula, nombresPaciente = paciente.nombres + " " + paciente.apellidos, idHistoriaClinica = historiaClinica.idHistoriaClinica, idEvolucion = evolucion.idEvolucion, motivoConsulta = evolucion.motivoConsulta, fechaVisita = (DateTime)evolucion.fechaVisita }).ToList(); } } ViewBag.listaPacientesDesactivados = listaPacientesDesactivados; ViewBag.listaEvolucionesDesactivadas = listaEvolucionesDesactivadas; return(PartialView("_TablaDesactivados")); }
/// <summary> /// /// </summary> /// <param name="idEvolucion">id de Evolución actual</param> /// <param name="idPaciente">id del paciente en la visita</param> /// <param name="fechaDesde">Fecha inicial de reposo</param> /// <param name="fechaHasta">Fecha final de reposo</param> /// <returns>Archivo PDF con el certificado de reposo</returns> public FileResult reposoPDF(int idEvolucion, int idPaciente, DateTime fechaDesde, DateTime fechaHasta) { Document doc = new Document(); byte[] buffer; using (MemoryStream ms = new MemoryStream()) { PdfWriter.GetInstance(doc, ms);//guardar el doc en memoria doc.Open(); Image png = Image.GetInstance(new Uri(Server.MapPath("~/Resources/Galenus.png"))); png.ScalePercent(24f); doc.Add(png); //IMAGEN Paragraph info1 = new Paragraph(nombreMedico + ",M.D."); Paragraph info2 = new Paragraph("Médico Dermatólogo"); Paragraph info3 = new Paragraph("PARIS N43 - 212 Y RÍO COCA"); Paragraph info4 = new Paragraph("TELÉFONO 2263720"); Paragraph fechaHoy = new Paragraph("Fecha de emisión: " + DateTime.Now.ToString("yyyy-MM-dd")); info1.Alignment = Element.ALIGN_CENTER; info2.Alignment = Element.ALIGN_CENTER; info3.Alignment = Element.ALIGN_CENTER; info4.Alignment = Element.ALIGN_CENTER; fechaHoy.Alignment = Element.ALIGN_RIGHT; doc.Add(info1); doc.Add(info2); doc.Add(info3); doc.Add(info4); doc.Add(fechaHoy); Paragraph espacio = new Paragraph(" "); doc.Add(espacio); Paragraph titulo = new Paragraph("CERTIFICADO DE REPOSO"); titulo.Alignment = Element.ALIGN_CENTER; doc.Add(titulo); doc.Add(espacio); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente == idPaciente).First(); tblEvolucion tblEvolucion = bd.tblEvolucion.Where(p => p.idEvolucion == idEvolucion && p.habilitado == 1).First(); Paragraph nombresPaciente = new Paragraph("Nombres y apellidos del paciente: " + tblPaciente.nombres + " " + tblPaciente.apellidos); doc.Add(nombresPaciente); Paragraph cedulaPaciente = new Paragraph("Cédula de identidad: " + tblPaciente.cedula); doc.Add(cedulaPaciente); Paragraph edad = new Paragraph("Edad: " + (DateTime.Today.Year - tblPaciente.fechaNacimiento.Value.Year).ToString() + " años"); doc.Add(edad); doc.Add(espacio); Paragraph fechaconsulta = new Paragraph("Fecha de atención: " + tblEvolucion.fechaVisita.ToString()); doc.Add(fechaconsulta); Paragraph diagnostico = new Paragraph("Diagnóstico: " + tblEvolucion.diagnostico); doc.Add(diagnostico); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); Paragraph r1 = new Paragraph("Reposo por: " + (fechaHasta - fechaDesde).TotalDays.ToString() + " día/días"); doc.Add(r1); doc.Add(espacio); Paragraph r2 = new Paragraph("Desde: " + fechaDesde.ToString("dd-MM-yyyy")); doc.Add(r2); r2 = new Paragraph(" " + Convert.ToDecimal(fechaDesde.Day.ToString()).NumeroALetras() + " DE " + fechaDesde.ToString("MMMM").ToUpper() + " DE " + Convert.ToDecimal(fechaDesde.Year.ToString()).NumeroALetras()); doc.Add(r2); Paragraph r3 = new Paragraph("Hasta: " + fechaHasta.ToString("dd-MM-yyyy")); doc.Add(r3); r3 = new Paragraph(" " + Convert.ToDecimal(fechaHasta.Day.ToString()).NumeroALetras() + " DE " + fechaHasta.ToString("MMMM").ToUpper() + " DE " + Convert.ToDecimal(fechaHasta.Year.ToString()).NumeroALetras()); doc.Add(r3); Convert.ToDecimal(fechaDesde.Day.ToString()).NumeroALetras(); doc.Add(espacio); Paragraph att = new Paragraph("atentamente;"); doc.Add(att); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); Paragraph lineaFirma = new Paragraph("__________________________"); doc.Add(lineaFirma); info1.Alignment = Element.ALIGN_LEFT; info2.Alignment = Element.ALIGN_LEFT; doc.Add(info1); doc.Add(info2); doc.Add(espacio); Paragraph codigomsp = new Paragraph("MSP " + codigoMSP); doc.Add(codigomsp); Paragraph cedulaMD = new Paragraph("CI: " + cedulaMedico); doc.Add(cedulaMD); } doc.Close(); buffer = ms.ToArray(); } return(File(buffer, "application/pdf")); }
/// <summary> /// Creación del documento con toda la información de la historia clínica del paciente /// </summary> /// <param name="idEvolucion">id de Evolución actual</param> /// <returns>Archivo PDF con la información del paciente</returns> public FileResult InfoPacientePDF(int idPaciente) { Document doc = new Document(); byte[] buffer; using (MemoryStream ms = new MemoryStream()) { PdfWriter.GetInstance(doc, ms);//guardar el doc en memoria doc.Open(); Image png = Image.GetInstance(new Uri(Server.MapPath("~/Resources/Galenus.png"))); png.ScalePercent(24f); doc.Add(png); //IMAGEN Paragraph info1 = new Paragraph(nombreMedico + ",M.D."); Paragraph info2 = new Paragraph("Médico Dermatólogo"); Paragraph info3 = new Paragraph("PARIS N43 - 212 Y RÍO COCA"); Paragraph info4 = new Paragraph("TELÉFONO 2263720"); Paragraph fechaHoy = new Paragraph("Fecha de emisión: " + DateTime.Now.ToString("yyy-MM-dd")); info1.Alignment = Element.ALIGN_CENTER; info2.Alignment = Element.ALIGN_CENTER; info3.Alignment = Element.ALIGN_CENTER; info4.Alignment = Element.ALIGN_CENTER; fechaHoy.Alignment = Element.ALIGN_RIGHT; doc.Add(info1); doc.Add(info2); doc.Add(info3); doc.Add(info4); doc.Add(fechaHoy); Paragraph espacio = new Paragraph(" "); doc.Add(espacio); doc.Add(espacio); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente == idPaciente).First(); Paragraph p0 = new Paragraph("- - - DATOS PERSONALES DEL PACIENTE - - -"); p0.Alignment = Element.ALIGN_CENTER; doc.Add(p0); doc.Add(espacio); Paragraph p1 = new Paragraph("Nombre del paciente: " + tblPaciente.nombres + " " + tblPaciente.apellidos); doc.Add(p1); Paragraph p2 = new Paragraph("Cédula: " + tblPaciente.cedula); doc.Add(p2); Paragraph p3 = new Paragraph("Fecha de nacimiento: " + tblPaciente.fechaNacimiento.Value.ToString("yyyy-MM-dd")); doc.Add(p3); Paragraph p4 = new Paragraph("Identidad de Género: " + tblPaciente.tblIdentidadGenero.nombreIdentidadGenero); doc.Add(p4); if (tblPaciente.tblOrientacionSexual != null) { Paragraph p5 = new Paragraph("Orientación Sexual: " + tblPaciente.tblOrientacionSexual.nombreOrientacionSexual); doc.Add(p5); } if (tblPaciente.ciudadNacimiento != null) { Paragraph p6 = new Paragraph("Ciudad de nacimiento: " + tblPaciente.ciudadNacimiento); doc.Add(p6); } if (tblPaciente.ciudadResidencia != null) { Paragraph p7 = new Paragraph("Ciudad de residencia: " + tblPaciente.ciudadResidencia); doc.Add(p7); } if (tblPaciente.ocupacion != null) { Paragraph p8 = new Paragraph("Ocupación: " + tblPaciente.ocupacion); doc.Add(p8); } if (tblPaciente.profesion != null) { Paragraph p9 = new Paragraph("Profesión: " + tblPaciente.profesion); doc.Add(p9); } if (tblPaciente.idTipoDiscapacidad != null && tblPaciente.porcentajeDiscapacidad != 0) { Paragraph p10 = new Paragraph("Tipo discapacidad: " + tblPaciente.tblTipoDiscapacidad.tipo); doc.Add(p10); Paragraph p11 = new Paragraph("Porcentaje de discapacidad: " + tblPaciente.porcentajeDiscapacidad.ToString()); doc.Add(p11); } if (tblPaciente.tblEstadoCivil != null) { Paragraph p12 = new Paragraph("Estado civil: " + tblPaciente.tblEstadoCivil.nombreEstadoCivil); doc.Add(p12); } if (tblPaciente.tblLateralidad != null) { Paragraph p13 = new Paragraph("Lateralidad: " + tblPaciente.tblLateralidad.nombreLateralidad); doc.Add(p13); } if (tblPaciente.tblNivelEducacion != null) { Paragraph p14 = new Paragraph("Nivel de educación: " + tblPaciente.tblNivelEducacion.nombreNivelEducacion); doc.Add(p14); } Paragraph p15 = new Paragraph("Dirección: " + tblPaciente.direccion); doc.Add(p15); Paragraph p16 = new Paragraph("Teléfono personal: " + tblPaciente.telefonoPersonal); doc.Add(p16); if (tblPaciente.telefonoResidencial != null) { Paragraph p17 = new Paragraph("Teléfono residencial: " + tblPaciente.telefonoResidencial); doc.Add(p17); } Paragraph p18 = new Paragraph("Correo electrónico: " + tblPaciente.correoElectronico); doc.Add(p18); Paragraph p19 = new Paragraph("Religión: " + tblPaciente.tblReligion.nombreReligion); doc.Add(p19); Paragraph p20 = new Paragraph("Nombre contacto de emergencia: " + tblPaciente.tblContactoEmergencia.nombreContactoEmergencia); doc.Add(p20); Paragraph p21 = new Paragraph("Teléfono contacto de emergencia: " + tblPaciente.tblContactoEmergencia.telefonoContactoEmergencia); doc.Add(p21); tblHistoriaClinica tblHistoriaClinica = bd.tblHistoriaClinica.Where(p => p.idPaciente == idPaciente).First(); doc.Add(espacio); doc.Add(espacio); Paragraph p23 = new Paragraph("- - - HISTORIA CLÍNICA DEL PACIENTE - - -"); p23.Alignment = Element.ALIGN_CENTER; doc.Add(p23); doc.Add(espacio); Paragraph p24 = new Paragraph("Id historia clínica: " + tblHistoriaClinica.idHistoriaClinica); doc.Add(p24); Paragraph p25 = new Paragraph("Seguro médico: " + tblHistoriaClinica.tblSeguroMedico.nombreSeguro); doc.Add(p25); Paragraph p26 = new Paragraph("Tipo de sangre: " + tblHistoriaClinica.tblTipoSangre.sangre); doc.Add(p26); Paragraph p27 = new Paragraph("Antecedente familiar clínico: " + tblHistoriaClinica.antecedenteFamiliarClinico); doc.Add(p27); Paragraph p28 = new Paragraph("Antecedente familiar quirúrgico: " + tblHistoriaClinica.antecedenteFamiliarQuirurgico); doc.Add(p28); Paragraph p29 = new Paragraph("Antecedente personal clínico: " + tblHistoriaClinica.antecedentePersonalClinico); doc.Add(p29); Paragraph p30 = new Paragraph("Antecedente personal quirúrgico: " + tblHistoriaClinica.antecedentePersonalQuirurgico); doc.Add(p30); Paragraph p31 = new Paragraph("Antecedente personal alérgico: " + tblHistoriaClinica.antecedentePersonalAlergico); doc.Add(p31); Paragraph p32 = new Paragraph("Antecedente personal vacunas: " + tblHistoriaClinica.antecedentePersonalVacunas); doc.Add(p32); if (tblHistoriaClinica.idAntecedenteGinecoObstetrico != null) { Paragraph p33 = new Paragraph("Menarquia: " + tblHistoriaClinica.tblAntecedenteGinecoObstetrico.menarquia); doc.Add(p33); Paragraph p36 = new Paragraph("Gestas: " + tblHistoriaClinica.tblAntecedenteGinecoObstetrico.gestas); doc.Add(p36); Paragraph p37 = new Paragraph("Partos: " + tblHistoriaClinica.tblAntecedenteGinecoObstetrico.partos); doc.Add(p37); Paragraph p38 = new Paragraph("Cesárea: " + tblHistoriaClinica.tblAntecedenteGinecoObstetrico.cesarea); doc.Add(p38); Paragraph p39 = new Paragraph("Abortos: " + tblHistoriaClinica.tblAntecedenteGinecoObstetrico.abortos); doc.Add(p39); Paragraph p40 = new Paragraph("Hijos vivos: " + tblHistoriaClinica.tblAntecedenteGinecoObstetrico.hijosVivos); doc.Add(p40); Paragraph p41 = new Paragraph("Hijos muertos: " + tblHistoriaClinica.tblAntecedenteGinecoObstetrico.hijosMuertos); doc.Add(p41); } if (tblHistoriaClinica.idAntecedenteReprodMasculino != null) { Paragraph p44 = new Paragraph("Enfermedades de transmisión sexual: " + tblHistoriaClinica.tblAntecedenteReprodMasculino.ets); doc.Add(p44); Paragraph p45 = new Paragraph("Pareja sexual: " + tblHistoriaClinica.tblAntecedenteReprodMasculino.parejaSexual); doc.Add(p45); } Paragraph p46 = new Paragraph("Uso de tabaco: " + tblHistoriaClinica.tabaco); doc.Add(p46); Paragraph p47 = new Paragraph("Uso de alcohol: " + tblHistoriaClinica.alcohol); doc.Add(p47); Paragraph p48 = new Paragraph("Uso de otras drogas: " + tblHistoriaClinica.otrasDrogas); doc.Add(p48); Paragraph p49 = new Paragraph("Actividad física: " + tblHistoriaClinica.actividadFisica); doc.Add(p49); Paragraph p50 = new Paragraph("Medicación habitual: " + tblHistoriaClinica.medicacionHabitual); doc.Add(p50); doc.Add(espacio); doc.Add(espacio); Paragraph p51 = new Paragraph("- - - HISTORIAL DE VISITAS / EVOLUCIÓN - - -"); p51.Alignment = Element.ALIGN_CENTER; doc.Add(p51); doc.Add(espacio); PdfPTable table = new PdfPTable(3);//tabla de 3 col float[] values = new float[3] { 70, 150, 150 }; //anchos de col table.SetWidths(values); //anchos asignados a la tabla //creando las Celdas //creando celdas y poniendo color ademas dealinear el contenido al centro PdfPCell celda1 = new PdfPCell(new Phrase("Fecha")); celda1.BackgroundColor = new BaseColor(130, 130, 130); celda1.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(celda1); PdfPCell celda2 = new PdfPCell(new Phrase("Motivo de consulta")); celda2.BackgroundColor = new BaseColor(130, 130, 130); celda2.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(celda2); PdfPCell celda3 = new PdfPCell(new Phrase("Diagnóstico")); celda3.BackgroundColor = new BaseColor(130, 130, 130); celda3.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(celda3); List <tblEvolucion> listaEvoluciones = bd.tblEvolucion.Where(p => p.idHistoriaClinica == tblHistoriaClinica.idHistoriaClinica && p.habilitado == 1).ToList(); foreach (var item in listaEvoluciones) { Paragraph fechaVisita = new Paragraph(item.fechaVisita.Value.ToString()); table.AddCell(fechaVisita); Paragraph motivoConsulta = new Paragraph(item.motivoConsulta); table.AddCell(motivoConsulta); Paragraph diagnostico = new Paragraph(item.diagnostico); table.AddCell(diagnostico); } doc.Add(table); } doc.Close(); buffer = ms.ToArray(); } return(File(buffer, "application/pdf")); }
/// <summary> /// Creación de un certificado de asistencia al consultorio /// </summary> /// <param name="idEvolucion">id de Evolución actual</param> /// <param name="idPaciente">id del paciente en la visita</param> /// <returns>Archivo PDF con el certificado de asistencia</returns> public FileResult asistenciaPDF(int idEvolucion, int idPaciente, string notas) { Document doc = new Document(); byte[] buffer; using (MemoryStream ms = new MemoryStream()) { PdfWriter.GetInstance(doc, ms);//guardar el doc en memoria doc.Open(); Image png = Image.GetInstance(new Uri(Server.MapPath("~/Resources/Galenus.png"))); png.ScalePercent(24f); doc.Add(png); //IMAGEN Paragraph info1 = new Paragraph(nombreMedico + ",M.D."); Paragraph info2 = new Paragraph("Médico Dermatólogo"); Paragraph info3 = new Paragraph("PARIS N43 - 212 Y RÍO COCA"); Paragraph info4 = new Paragraph("TELÉFONO 2263720"); Paragraph fechaHoy = new Paragraph("Fecha de emisión: " + DateTime.Now.ToString("yyyy-MM-dd")); info1.Alignment = Element.ALIGN_CENTER; info2.Alignment = Element.ALIGN_CENTER; info3.Alignment = Element.ALIGN_CENTER; info4.Alignment = Element.ALIGN_CENTER; fechaHoy.Alignment = Element.ALIGN_RIGHT; doc.Add(info1); doc.Add(info2); doc.Add(info3); doc.Add(info4); doc.Add(fechaHoy); Paragraph espacio = new Paragraph(" "); doc.Add(espacio); Paragraph titulo = new Paragraph("CERTIFICADO DE ASISTENCIA"); titulo.Alignment = Element.ALIGN_CENTER; doc.Add(titulo); doc.Add(espacio); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente == idPaciente).First(); tblEvolucion tblEvolucion = bd.tblEvolucion.Where(p => p.idEvolucion == idEvolucion && p.habilitado == 1).First(); Paragraph nombresPaciente = new Paragraph("Nombres y apellidos del paciente: " + tblPaciente.nombres + " " + tblPaciente.apellidos); doc.Add(nombresPaciente); Paragraph cedulaPaciente = new Paragraph("Cédula de identidad: " + tblPaciente.cedula); doc.Add(cedulaPaciente); Paragraph edad = new Paragraph("Edad: " + (DateTime.Today.Year - tblPaciente.fechaNacimiento.Value.Year).ToString() + " años"); doc.Add(edad); doc.Add(espacio); Paragraph fechaconsulta = new Paragraph("Fecha de atención: " + tblEvolucion.fechaVisita.ToString()); doc.Add(fechaconsulta); Paragraph motivoConsulta = new Paragraph("Motivo de consulta: " + tblEvolucion.motivoConsulta); doc.Add(motivoConsulta); Paragraph diagnostico = new Paragraph("Diagnóstico: " + tblEvolucion.diagnostico); doc.Add(diagnostico); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); Paragraph certifico = new Paragraph("CERTIFICO QUE EL PACIENTE ACUDIÓ EN ESTA FECHA A CONSULTA MEDICA DERMATOLÓGICA "); doc.Add(certifico); if (notas != "") { doc.Add(espacio); Paragraph nota = new Paragraph("Notas adicionales: " + notas); doc.Add(nota); } doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); Paragraph lineaFirma = new Paragraph("__________________________"); doc.Add(lineaFirma); info1.Alignment = Element.ALIGN_LEFT; info2.Alignment = Element.ALIGN_LEFT; doc.Add(info1); doc.Add(info2); doc.Add(espacio); Paragraph codigomsp = new Paragraph("MSP " + codigoMSP); doc.Add(codigomsp); Paragraph cedulaMD = new Paragraph("CI: " + cedulaMedico); doc.Add(cedulaMD); } doc.Close(); buffer = ms.ToArray(); } return(File(buffer, "application/pdf")); }
/// <summary> /// Creación de la prescripción recetada en la visita actual /// </summary> /// <param name="idEvolucion">id de Evolución actual</param> /// <param name="idPaciente">id del paciente en la visita</param> /// <returns>Archivo PDF con la prescripción de la visita</returns> public FileResult prescripcionPDF(int idEvolucion, int idPaciente) { Document doc = new Document(); byte[] buffer; using (MemoryStream ms = new MemoryStream()) { PdfWriter.GetInstance(doc, ms);//guardar el doc en memoria doc.Open(); Image png = Image.GetInstance(new Uri(Server.MapPath("~/Resources/Galenus.png"))); png.ScalePercent(24f); doc.Add(png); //IMAGEN Paragraph info1 = new Paragraph(nombreMedico + ",M.D."); Paragraph info2 = new Paragraph("Médico Dermatólogo"); Paragraph info3 = new Paragraph("PARIS N43 - 212 Y RÍO COCA"); Paragraph info4 = new Paragraph("TELÉFONO 2263720"); Paragraph fechaHoy = new Paragraph("Fecha de emisión: " + DateTime.Now.ToString("yyyy-MM-dd")); info1.Alignment = Element.ALIGN_CENTER; info2.Alignment = Element.ALIGN_CENTER; info3.Alignment = Element.ALIGN_CENTER; info4.Alignment = Element.ALIGN_CENTER; fechaHoy.Alignment = Element.ALIGN_RIGHT; doc.Add(info1); doc.Add(info2); doc.Add(info3); doc.Add(info4); doc.Add(fechaHoy); Paragraph espacio = new Paragraph(" "); doc.Add(espacio); using (var bd = new BDD_ConsultorioDermatologicoEntities()) { tblPaciente tblPaciente = bd.tblPaciente.Where(p => p.idPaciente == idPaciente).First(); tblEvolucion tblEvolucion = bd.tblEvolucion.Where(p => p.idEvolucion == idEvolucion && p.habilitado == 1).First(); Paragraph nombresPaciente = new Paragraph("Nombres y apellidos del paciente: " + tblPaciente.nombres + " " + tblPaciente.apellidos); doc.Add(nombresPaciente); Paragraph cedulaPaciente = new Paragraph("Cédula de identidad: " + tblPaciente.cedula); doc.Add(cedulaPaciente); Paragraph edad = new Paragraph("Edad: " + (DateTime.Today.Year - tblPaciente.fechaNacimiento.Value.Year).ToString() + " años"); doc.Add(edad); doc.Add(espacio); Paragraph fechaconsulta = new Paragraph("Fecha de atención: " + tblEvolucion.fechaVisita.ToString()); doc.Add(fechaconsulta); Paragraph motivoConsulta = new Paragraph("Motivo de consulta: " + tblEvolucion.motivoConsulta); doc.Add(motivoConsulta); Paragraph diagnostico = new Paragraph("Diagnóstico: " + tblEvolucion.diagnostico); doc.Add(diagnostico); doc.Add(espacio); doc.Add(espacio); doc.Add(espacio); PdfPTable table = new PdfPTable(2);//tabla de 2 col float[] anchoColumna = new float[2] { 50, 50 }; //anchos de col table.SetWidths(anchoColumna); //anchos asignados a la tabla PdfPCell celda1 = new PdfPCell(new Phrase("Prescripción")); celda1.BackgroundColor = new BaseColor(130, 130, 130); celda1.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(celda1); PdfPCell celda2 = new PdfPCell(new Phrase("Recomendaciones")); celda2.BackgroundColor = new BaseColor(130, 130, 130); celda2.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(celda2); Paragraph prescripcion = new Paragraph(tblEvolucion.prescripcion); table.AddCell(prescripcion); Paragraph recomendaciones = new Paragraph(tblEvolucion.recomendaciones); table.AddCell(recomendaciones); doc.Add(table); } doc.Close(); buffer = ms.ToArray(); } return(File(buffer, "application/pdf")); }