public string CargarReferencia(BLReferencia referencia) { TOReferencia to = new TOReferencia(); DAOConsulta dao = new DAOConsulta(); to.IdCuenta = referencia.IdCuenta; to.IdExpediente = referencia.IdExpediente; string confirmacion = "Error: Indefinido."; confirmacion = dao.CargarReferencia(to); if (!confirmacion.Contains("Error:")) { referencia.NombreMedico = to.NombreMedico; referencia.CodigoMedico = to.CodigoMedico; referencia.TelefonoMedico = to.TelefonoMedico; referencia.CorreoMedico = to.CorreoMedico; referencia.CedulaPaciente = to.CedulaPaciente; referencia.NombrePaciente = to.NombrePaciente; referencia.SexoPaciente = to.SexoPaciente; referencia.EdadPaciente = to.EdadPaciente; } return(confirmacion); }
public string CargarReferencia(TOReferencia referencia) { string confirmacion = "La referencia se cargó exitosamente"; string mensajeError = "Error: No se pudo cargar la referencia"; // Se abre la conexión if (conexion != null) { try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } } catch (Exception) { confirmacion = mensajeError; return(confirmacion); } } else { confirmacion = mensajeError; return(confirmacion); } // Se inicia una nueva transacción SqlTransaction transaccion = null; try { transaccion = conexion.BeginTransaction("Cargar referencia"); // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión SqlCommand comando = new SqlCommand(); comando.Connection = conexion; comando.Transaction = transaccion; comando.CommandText = "SELECT U.NOMBRE AS NM, U.PRIMER_APELLIDO AS PAM, U.SEGUNDO_APELLIDO AS SAM, " + "M.CODIGO_MEDICO, U.TELEFONO, C.CORREO, " + "E.CEDULA, E.NOMBRE AS NE, E.PRIMER_APELLIDO AS PAE, E.SEGUNDO_APELLIDO AS SAE, " + "E.FECHA_NACIMIENTO, E.SEXO " + "FROM CUENTA_USUARIO AS C, USUARIO AS U, MEDICO AS M, EXPEDIENTE AS E " + "WHERE C.ID_CUENTA = U.CEDULA AND U.CEDULA = M.ID_MEDICO AND M.CODIGO_MEDICO = E.ID_MEDICO AND " + "E.ID_EXPEDIENTE = @idExpediente AND C.ID_CUENTA = @idCuenta;"; // Se asigna un valor a los parámetros del comando a ejecutar comando.Parameters.AddWithValue("@idExpediente", referencia.IdExpediente); comando.Parameters.AddWithValue("@idCuenta", referencia.IdCuenta); SqlDataReader lector = comando.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { referencia.NombreMedico = lector["NM"].ToString() + " " + lector["PAM"].ToString() + " " + lector["SAM"].ToString(); referencia.CodigoMedico = lector["CODIGO_MEDICO"].ToString(); referencia.TelefonoMedico = lector["TELEFONO"].ToString(); referencia.CorreoMedico = lector["CORREO"].ToString(); referencia.CedulaPaciente = lector["CEDULA"].ToString(); referencia.NombrePaciente = lector["NE"].ToString() + " " + lector["PAE"].ToString() + " " + lector["SAE"].ToString(); referencia.SexoPaciente = lector["SEXO"].ToString(); referencia.EdadPaciente = ObtenerEdad(lector["FECHA_NACIMIENTO"].ToString()); } } lector.Close(); transaccion.Commit(); } catch (Exception e) { try { // En caso de un error se realiza un rollback a la transacción transaccion.Rollback(); } catch (Exception) { } finally { confirmacion = mensajeError; } } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } return(confirmacion); }