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);
        }
Beispiel #2
0
        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);
        }