예제 #1
0
        /// <summary>
        /// Inserta las estadisticas de la partida en la base de datos.
        /// </summary>
        /// <param name="stats">Stadisticas de la partida</param>
        /// <returns> Numero de filas afectadas</returns>
        public int insertarStats_DAL(ClsStats stats)
        {
            int filas = 0;

            ClsMyConnection gestConexion = new ClsMyConnection();
            SqlConnection   conexion     = gestConexion.getConnection();
            SqlCommand      miComando    = new SqlCommand();

            //Definir los parametros del comando
            miComando.CommandText = "INSERT INTO stats(name, score) values (@nombre, @puntos)";

            //Añadimos los parametros
            if (stats.Name != "")
            {
                miComando.Parameters.Add("@nombre", SqlDbType.VarChar).Value = stats.Name;
            }
            else
            {
                miComando.Parameters.Add("@nombre", SqlDbType.Int).Value = "null";
            }

            miComando.Parameters.Add("@puntos", SqlDbType.VarChar).Value = stats.Score;

            miComando.Connection = conexion;
            filas = miComando.ExecuteNonQuery();
            //Cerramos la conexion
            gestConexion.closeConnection(ref conexion);

            return(filas);
        }
예제 #2
0
        /// <summary>
        /// sirve para buscra un departamento por su nombre
        /// </summary>
        /// <param name="nombre">nombre del departamento</param>
        /// <returns>
        /// objeto departamento
        /// </returns>
        public ClsDepartamento buscarDepartamentoPorNombre(String nombre)
        {
            ClsMyConnection miConexion = null;


            SqlCommand miComando = new SqlCommand();

            SqlDataReader miLector = null;

            ClsDepartamento oDepartamento = null;

            SqlConnection conexion = null;

            SqlParameter parameter;


            miConexion = new ClsMyConnection();
            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText   = "SELECT * FROM PD_Departamentos WHERE NombreDepartamento = @nombre";
                parameter               = new SqlParameter();
                parameter.ParameterName = "@nombre";
                parameter.SqlDbType     = System.Data.SqlDbType.VarChar;
                parameter.Value         = nombre;
                miComando.Parameters.Add(parameter);


                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    miLector.Read();
                    oDepartamento = new ClsDepartamento();
                    oDepartamento.IdDepartamentoa    = (int)miLector["IdDepartamento"];
                    oDepartamento.NombreDepartamento = (string)miLector["NombreDepartamento"];
                }
            }

            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (miConexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(oDepartamento);
        }
예제 #3
0
        /// <summary>
        /// prototipo: public ObservableCollection<ClsPalabras> ObtenerPalabrasPorIdPruebaDAL(int idPrueba)
        /// comentarios: sirve para obtener el listado de las palabras de una prueba
        /// precondiciones: el id tiene que ser válido
        /// </summary>
        /// <param name="idPrueba">entero </param>
        /// <returns>ObservableCollection<ClsPalabras> palabras</returns>
        /// postcondiciones: asociado a nombre devuelve el listado de palabras de una prueba o un null si la prueba no tine palabras
        public ObservableCollection <ClsPalabras> ObtenerPalabrasPorIdPruebaDAL(int idPrueba)
        {
            ObservableCollection <ClsPalabras> palabras = new ObservableCollection <ClsPalabras>();
            ClsPalabras palabra = null;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();
            miComando.Parameters.Add("@idPrueba", System.Data.SqlDbType.Int).Value = idPrueba;

            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "select P.idPalabra, P.palabra, P.dificultad from CJ_Palabras as P " +
                                        "inner join CJ_PruebasPalabras as PP on P.idPalabra = PP.idPalabra " +
                                        "where PP.idPrueba = @idPrueba";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        palabra = new ClsPalabras();

                        palabra.IdPalabra = (int)miLector["idPalabra"];

                        if (!String.IsNullOrEmpty(miLector["palabra"].ToString()))
                        {
                            palabra.Palabra = miLector["palabra"].ToString();
                        }

                        palabra.Dificultad = (Byte)miLector["dificultad"];

                        palabras.Add(palabra);
                    }
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(palabras);
        }
예제 #4
0
        /// <summary>
        /// sirve para devolver el listado de todos los vengadores con sus fotos incluidos
        /// </summary>
        /// <returns>
        /// asociado al nombre devuelve la lista de los vengadores con sus fotos
        /// </returns>
        public List <ClsVengadorConFoto> ListadoCompletoVengadoresConFoto()
        {
            ClsMyConnection miConexion = null;

            List <ClsVengadorConFoto> listadoVengadoresConFoto = new List <ClsVengadorConFoto>();

            SqlCommand miComando = new SqlCommand();

            SqlDataReader miLector = null;

            ClsVengadorConFoto oVengadores = null;

            SqlConnection conexion = null;


            miConexion = new ClsMyConnection();
            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "SELECT * FROM superheroes";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        oVengadores = new ClsVengadorConFoto();
                        oVengadores.IdSuperheroe     = (int)miLector["idSuperheroe"];
                        oVengadores.NombreSuperheroe = (string)miLector["nombreSuperheroe"];
                        oVengadores.asignarImagen();
                        listadoVengadoresConFoto.Add(oVengadores);
                    }
                }
            }

            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (miConexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(listadoVengadoresConFoto);
        }
예제 #5
0
        public List <ClsDepartamento> getListadoDepartamentosDAL()
        {
            ClsMyConnection miConexion = null;

            List <ClsDepartamento> listadoDepartamentos = new List <ClsDepartamento>();

            SqlCommand miComando = new SqlCommand();

            SqlDataReader miLector = null;

            ClsDepartamento departamento = null;

            SqlConnection conexion = null;


            miConexion = new ClsMyConnection();
            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "SELECT * FROM PD_Departamentos";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        departamento = new ClsDepartamento();
                        departamento.IdDepartamentoa    = (int)miLector["ID"];
                        departamento.NombreDepartamento = (string)miLector["Nombre"];
                        listadoDepartamentos.Add(departamento);
                    }
                }
            }

            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (miConexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(listadoDepartamentos);
        }
예제 #6
0
        /// <summary>
        /// prototipo:  public ObservableCollection<ClsRankingDTO> ObtenerListadoRankingDAL()
        /// comentarios: sirve para obtener el listado del ranking
        /// precondiciones: no hay
        /// </summary>
        /// <returns>ObservableCollection<ClsRankingDTO> rankings</returns>
        /// postcondiciones: asociado a nombre devuelve el listado del ranking o un null si no hay Ranking o un SQLException si no hay conexion
        public ObservableCollection <ClsRankingDTO> ObtenerListadoRankingDAL()
        {
            ObservableCollection <ClsRankingDTO> rankings = new ObservableCollection <ClsRankingDTO>();
            ClsRankingDTO ranking = null;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();

            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "select L.nombreLuchador,sum(LC.puntuacionLuchador) as puntuacion from SH_LuchadoresCombates as LC " +
                                        "inner join SH_Luchadores as L on LC.idLuchador = L.idLuchador " +
                                        "group by L.nombreLuchador " +
                                        "order by puntuacion desc";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        ranking = new ClsRankingDTO();

                        if (!String.IsNullOrEmpty(miLector["nombreLuchador"].ToString()))
                        {
                            ranking.NombreLuchadorDTO = miLector["nombreLuchador"].ToString();
                        }

                        ranking.PuntuacionLuchadorDTO = (int)miLector["puntuacion"];

                        rankings.Add(ranking);
                    }
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(rankings);
        }
예제 #7
0
        /// <summary>
        /// prototipo: public ObservableCollection<ClsLuchador> ObtenerListadoLuchadoresDAL()
        /// comentarios: sirve para obtener el listado de los todos los luchadores
        /// precondiciones: no hay
        /// </summary>
        /// <returns>ObservableCollection<ClsLuchador> luchadores</returns>
        /// postcondiciones: asociado a nombre devuelve el listado de todos los luchadores o un null si no hay Luchadores o SQLException si no hay conexion
        public ObservableCollection <ClsLuchador> ObtenerListadoLuchadoresDAL()
        {
            ObservableCollection <ClsLuchador> luchadores = new ObservableCollection <ClsLuchador>();
            ClsLuchador luchador = null;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();

            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "select * from SH_Luchadores";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        luchador = new ClsLuchador();

                        luchador.IdLuchador = (int)miLector["idLuchador"];

                        if (!String.IsNullOrEmpty(miLector["nombreLuchador"].ToString()))
                        {
                            luchador.NombreLuchador = miLector["nombreLuchador"].ToString();
                        }

                        luchador.FotoLuchador = (miLector["fotoLuchador"] is DBNull) ? new byte[1] : (Byte[])miLector["fotoLuchador"];

                        luchadores.Add(luchador);
                    }
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(luchadores);
        }
예제 #8
0
        /// <summary>
        /// prototipo: public int ObtenerUltimoProgresoDAL(string nick)
        /// comentarios: sirve para obtener el último progreso de un jugador
        /// precondiciones: no hay
        /// </summary>
        /// <param name="nick">cadena</param>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve el id de la última prueba o un 0 si no ha hecho ningún progreso aún
        public int ObtenerUltimoProgresoDAL(string nick)
        {
            int idPrueba = 0;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();
            miComando.Parameters.Add("@nick", System.Data.SqlDbType.VarChar).Value = nick;

            if (nick != null)
            {
                try
                {
                    conexion = miConexion.getConnection();

                    miComando.CommandText = "select top 1 PJ.idPrueba from CJ_Jugadores as J " +
                                            "inner join CJ_PruebasJugadores as PJ on J.idJugador=PJ.idJugador " +
                                            "where J.nick=@nick " +
                                            "order by PJ.idPrueba desc";

                    //miComando.CommandText = "select top 1 * from CJ_Jugadores";

                    miComando.Connection = conexion;
                    miLector             = miComando.ExecuteReader();

                    //Si hay lineas en el lector
                    if (miLector.HasRows)
                    {
                        miLector.Read();

                        idPrueba = (int)miLector["idPrueba"];
                    }
                }
                catch (SqlException exSql)
                {
                    throw exSql;
                }
                finally
                {
                    if (conexion != null)
                    {
                        miConexion.closeConnection(ref conexion);
                    }
                }
            }


            return(idPrueba);
        }
예제 #9
0
        /// <summary>
        /// sirve para obtener el listado de ranking del juego
        /// </summary>
        /// <returns>Listado de ranking</returns>
        public ObservableCollection <ClsTopScore> obtenerRanking()
        {
            ObservableCollection <ClsTopScore> scores = new ObservableCollection <ClsTopScore>();
            SqlConnection   connection;
            ClsMyConnection myConnection;

            try
            {
                myConnection = new ClsMyConnection();
                connection   = new SqlConnection();
                SqlCommand    command  = new SqlCommand();
                SqlDataReader miLector = null;
                ClsTopScore   score    = null;

                connection          = myConnection.getConnection();
                command.CommandText = "Select * from TopScore Order by Tiempo asc";
                command.Connection  = connection;
                miLector            = command.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        score = new ClsTopScore();

                        score.IdPersona = (int)miLector["ID"];

                        if (!String.IsNullOrEmpty(miLector["NombrePersona"].ToString()))
                        {
                            score.NombrePersona = (String)miLector["NombrePersona"];
                        }

                        if (!String.IsNullOrEmpty(miLector["Tiempo"].ToString()))
                        {
                            score.Tiempo = miLector["Tiempo"].ToString();
                        }

                        scores.Add(score);
                    }
                }

                miLector.Dispose();
                myConnection.closeConnection(ref connection);
            }
            catch (SqlException)
            {
                throw;
            }

            return(scores);
        }
예제 #10
0
        /// <summary>
        /// prototipo: public int ExisteCombateDAL(int idLuchador1,int idLuchador2)
        /// comentarios: sirve para ver si en un mismo día dos luchadores han tenido combate
        /// precondiciones: los datos de entrada tienen que ser correctos
        /// </summary>
        /// <param name="idLuchador1">entero</param>
        /// <param name="idLuchador2">entero</param>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve el id del combate y un 0 si no o ha habido combate o un SQLException si no hay conexion a internet
        public int ExisteCombateDAL(int idLuchador1, int idLuchador2)
        {
            int             idCombate  = 0;
            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();
            miComando.Parameters.Add("@idLuchador1", System.Data.SqlDbType.Int).Value = idLuchador1;
            miComando.Parameters.Add("@idLuchador2", System.Data.SqlDbType.Int).Value = idLuchador2;

            try
            {
                conexion = miConexion.getConnection();

                miComando.CommandText = "select C.idCombate from SH_Combates as C " +
                                        "inner join SH_LuchadoresCombates as LC on C.idCombate = LC.idCombate " +
                                        "inner join " +
                                        "( " +
                                        "select C.idCombate from SH_Combates as C " +
                                        "inner join SH_LuchadoresCombates as LC on C.idCombate = LC.idCombate " +
                                        "where LC.idLuchador = @idLuchador1 and C.fechaCombate = cast(getdate() as date) " +
                                        ") as idCombateLichador1 on LC.idCombate = idCombateLichador1.idCombate " +
                                        "where LC.idLuchador = @idLuchador2 and C.fechaCombate = cast(getdate() as date)";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    miLector.Read();

                    idCombate = (int)miLector["idCombate"];
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(idCombate);
        }
예제 #11
0
        /// <summary>
        /// prototipo: public List<int> ObtenerIdsDeUltimasNPalabrasDAL(int n)
        /// comentarios: sirve para obtener los n ultímos ids de la Tabla CJ_Palabras de la bbdd
        /// precondiciones: no hay
        /// </summary>
        /// <param name="n">entero</param>
        /// <returns>Lista de enteros</returns>
        /// postcondiciones: asociado a nombre devuelve la lista de los ids de los últimos n registros de la tabla CJ_Palabras o
        /// un null si el dato de entrada no es válido
        public List <int> ObtenerIdsDeUltimasNPalabrasDAL(int n)
        {
            List <int> ids = null;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();

            miComando.Parameters.Add("@n", System.Data.SqlDbType.Int).Value = n;


            if (n > 0)
            {
                try
                {
                    conexion = miConexion.getConnection();

                    miComando.CommandText = "select top (@n) idPalabra from CJ_Palabras order by idPalabra desc";

                    miComando.Connection = conexion;
                    miLector             = miComando.ExecuteReader();

                    ids = new List <int>();

                    if (miLector.HasRows)
                    {
                        while (miLector.Read())
                        {
                            ids.Add((int)miLector["idPalabra"]);
                        }
                    }
                }
                catch (SqlException exSql)
                {
                    throw exSql;
                }
                finally
                {
                    if (conexion != null)
                    {
                        miConexion.closeConnection(ref conexion);
                    }
                }
            }

            return(ids);
        }
예제 #12
0
        /// <summary>
        /// Metodo que nos devuelve el listado de todos los usuarios
        /// </summary>
        /// <returns>
        /// listado de usuarios
        /// </returns>
        public ObservableCollection <ClsUsuario> ObtenerListadoUsuariosDAL()
        {
            ClsMyConnection miConexion;

            ObservableCollection <ClsUsuario> listado = new ObservableCollection <ClsUsuario>();

            SqlCommand miComando = new SqlCommand();

            SqlDataReader miLector;

            ClsUsuario oUsuario;

            SqlConnection conexion;


            miConexion = new ClsMyConnection();
            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "SELECT * FROM casas";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        oUsuario             = new ClsUsuario();
                        oUsuario.IdUsuario   = (int)miLector["id"];
                        oUsuario.Saldo       = (double)miLector["saldo"];
                        oUsuario.Correo      = (string)miLector["correo"];
                        oUsuario.Contrasenia = (string)miLector["contraseña"];
                        oUsuario.IsAdmin     = (bool)miLector["isAdmin"];
                        listado.Add(oUsuario);
                    }
                }

                miLector.Close();
                miConexion.closeConnection(ref conexion);
            }

            catch (SqlException exSql)
            {
                throw exSql;
            }

            return(listado);
        }
예제 #13
0
        /// <summary>
        /// prototipo: public ClsPrueba ObtenerSiguentePruebaDAL(int idPruebaAnterior)
        /// comentarios: sirve para obtener la siguente prueba
        /// precondiciones: no hay
        /// </summary>
        /// <param name="idPruebaAnterior">entero</param>
        /// <returns>ClsPrueba</returns>
        /// postcondiciones: asociado a nombre devuelve un objeto prueba o un null si la prueba no existe
        public ClsPrueba ObtenerSiguentePruebaDAL(int idPruebaAnterior)
        {
            ClsPrueba prueba = null;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();
            miComando.Parameters.Add("@idPrueba", System.Data.SqlDbType.Int).Value = idPruebaAnterior;

            try
            {
                conexion = miConexion.getConnection();

                miComando.CommandText = "select top 1 * from CJ_Pruebas where idPrueba > @idPrueba";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    miLector.Read();

                    prueba = new ClsPrueba();

                    prueba.IdPrueba       = (int)miLector["idPrueba"];
                    prueba.NumeroPalabras = (int)miLector["numeroPalabras"];
                    prueba.TiempoMaximo   = miLector["tiempoMaximo"].ToString();
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(prueba);
        }
예제 #14
0
        /// <summary>
        /// prototipo: public ClsPrueba ObtenerPrimeraPruebaDAL()
        /// comentarios: sirve para obtener la primera prueba
        /// precondiciones: no hay
        /// </summary>
        /// <returns>ClsPrueba</returns>
        /// postcondiciones: asociado a nombre devuelve un objeto prueba o un null si la prueba no existe
        public ClsPrueba ObtenerPrimeraPruebaDAL()
        {
            ClsPrueba prueba = null;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();

            try
            {
                conexion = miConexion.getConnection();

                miComando.CommandText = "select top 1 * from CJ_Pruebas";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    miLector.Read();

                    prueba = new ClsPrueba();

                    prueba.IdPrueba       = (int)miLector["idPrueba"];
                    prueba.NumeroPalabras = (int)miLector["numeroPalabras"];
                    prueba.TiempoMaximo   = miLector["tiempoMaximo"].ToString();
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(prueba);
        }
예제 #15
0
        /// <summary>
        /// prototipo: public int ActualizarCombateDAL(int idLuchador, int puntuacion)
        /// comentarios: sirve para actualizar la puntuacion de un luchador
        /// precondiciones: los datos de entrada tienen que ser correctos
        /// </summary>
        /// <param name="idLuchador">entero</param>
        /// <param name="puntuacionLuchador">entero</param>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve un 1 si se ha actualizado correctamente y un 0 si no o un SQLException si no hay conexion a internet
        public int ActualizarCombateDAL(int idLuchador, int puntuacionLuchador)
        {
            ClsMyConnection miConexion = null;

            int exito = 0;

            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            miComando.Parameters.Add("@idLuchador", System.Data.SqlDbType.Int).Value = idLuchador;
            miComando.Parameters.Add("@puntuacion", System.Data.SqlDbType.Int).Value = puntuacionLuchador;

            miComando.CommandText = "update SH_LuchadoresCombates " +
                                    "set puntuacionLuchador += @puntuacion " +
                                    "from SH_LuchadoresCombates as LC " +
                                    "inner join SH_Combates as C on LC.idCombate = C.idCombate " +
                                    "where LC.idLuchador = @idLuchador and C.fechaCombate = cast(getdate() as date) ";

            try
            {
                conexion             = miConexion.getConnection();
                miComando.Connection = conexion;
                exito = miComando.ExecuteNonQuery();
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(exito);
        }
예제 #16
0
        /// <summary>
        /// prototipo: public int ObtenerIdJugadorPorNickDAL(string nick)
        /// comentarios: sirve para obtener el id de un jugador por su nick
        /// precondiciones: no hay
        /// </summary>
        /// <param name="nick">cadena </param>
        /// <returns>un entero</returns>
        /// postcondiciones:  asociado a nombre devuelve el id de un jugador o un cero si el nick no es válido
        public int ObtenerIdJugadorPorNickDAL(string nick)
        {
            int id = 0;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();
            miComando.Parameters.Add("@nick", System.Data.SqlDbType.VarChar).Value = nick;
            if (nick != null)
            {
                try
                {
                    conexion = miConexion.getConnection();

                    miComando.CommandText = "select idJugador from CJ_Jugadores where nick = @nick";

                    miComando.Connection = conexion;
                    miLector             = miComando.ExecuteReader();

                    //Si hay lineas en el lector
                    if (miLector.HasRows)
                    {
                        miLector.Read();

                        id = (int)miLector["idJugador"];
                    }
                }
                catch (SqlException exSql)
                {
                    throw exSql;
                }
                finally
                {
                    if (conexion != null)
                    {
                        miConexion.closeConnection(ref conexion);
                    }
                }
            }
            return(id);
        }
예제 #17
0
        /// <summary>
        /// prototipo: public int ObtenerUltimoIdCombateDAL()
        /// comentarios: sirve para obtener el id del último combate insertado
        /// precondiciones: no hay
        /// </summary>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve el id del último combate o un 0 si no hay ningún combate o un SQLException si no hay conexion a internet
        public int ObtenerUltimoIdCombateDAL()
        {
            int idCombate = 0;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;
            SqlDataReader miLector  = null;

            miConexion = new ClsMyConnection();

            try
            {
                conexion = miConexion.getConnection();

                miComando.CommandText = "select top 1 idCombate from SH_Combates " +
                                        "order by idCombate desc";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    miLector.Read();

                    idCombate = (int)miLector["idCombate"];
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(idCombate);
        }
예제 #18
0
        /// <summary>
        /// prototipo: public bool ComprobarNickYContraseñaCorrectosDAL(string nick,string contraseña)
        /// comentarios: sirve para comprobar si los datos que el usuario introduce para acceder al juego son correctos
        /// precondiciones: no hay
        /// </summary>
        /// <param name="nick">cadena </param>
        /// <param name="contraseña">cadena</param>
        /// <returns>un boolean</returns>
        /// postcondiciones: asociado a nombre devuelve true si el usuario es correcto y un false en caso contrario
        public bool ComprobarNickYContraseñaCorrectosDAL(string nick, string contraseña)
        {
            bool correcto = false;

            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();
            miComando.Parameters.Add("@nick", System.Data.SqlDbType.VarChar).Value       = nick;
            miComando.Parameters.Add("@contraseña", System.Data.SqlDbType.VarChar).Value = contraseña;
            int hayCosas = 0;

            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "select count(*) from CJ_Jugadores where nick = @nick and contraseña = @contraseña";

                miComando.Connection = conexion;
                if (nick != null && contraseña != null)
                {
                    hayCosas = (int)miComando.ExecuteScalar();
                }

                if (hayCosas != 0)
                {
                    correcto = true;
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(correcto);
        }
예제 #19
0
        /// <summary>
        /// prototipo: public int InsertarPruebaDAL(ClsPrueba prueba)
        /// comentarios: sirve para insertar una prueba a la bbdd
        /// precondiciones: los datos de entrada tienen que ser correctos
        /// </summary>
        /// <param name="prueba">ClsPrueba</param>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve un 1 si la prueba se ha insertado correctamente y un 0 si no
        public int InsertarPruebaDAL(ClsPrueba prueba)
        {
            ClsMyConnection miConexion = null;

            int exito = 0;

            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            miComando.Parameters.Add("@numeroPalabras", System.Data.SqlDbType.Int).Value   = prueba.NumeroPalabras;
            miComando.Parameters.Add("@tiempoMaximo", System.Data.SqlDbType.VarChar).Value = prueba.TiempoMaximo;

            miComando.CommandText = "insert into CJ_Pruebas (numeroPalabras,tiempoMaximo) " +
                                    "values(@numeroPalabras, @tiempoMaximo)";

            try
            {
                conexion             = miConexion.getConnection();
                miComando.Connection = conexion;
                exito = miComando.ExecuteNonQuery();
            }

            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(exito);
        }
예제 #20
0
        /// <summary>
        /// prototipo: public int RegistrarJugadorDAL(string nick, string contraseña)
        /// comentarios: sirve para insertar a un jugador nuevo
        /// precondiciones: no hay
        /// </summary>
        /// <param name="nick">cadena</param>
        /// <param name="contraseña">cadena</param>
        /// <returns>un entero</returns>
        /// postcondiciones:  asociado a nombre devuelve un 1 si el jugador se ha insertado correctamente y un 0 si no
        public int RegistrarJugadorDAL(string nick, string contraseña)
        {
            ClsMyConnection miConexion = null;

            int           exito     = 0;
            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            //miComando.Parameters.Add("@idJugador", System.Data.SqlDbType.Int).Value = jugador.IdJugador;
            miComando.Parameters.Add("@nick", System.Data.SqlDbType.VarChar).Value = nick;

            miComando.Parameters.Add("@contraseña", System.Data.SqlDbType.VarChar).Value = contraseña;

            miComando.CommandText = "INSERT INTO CJ_Jugadores (nick, contraseña) " +
                                    "VALUES (@nick, @contraseña)";

            try
            {
                conexion             = miConexion.getConnection();
                miComando.Connection = conexion;
                exito = miComando.ExecuteNonQuery();
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(exito);
        }
예제 #21
0
        /// <summary>
        /// prototipo: public int InsertarProgresoDAL(ClsPruebaJugador clsPruebaJugador)
        /// comentarios: sirve para insertar un progreso
        /// precondiciones: los datos de entrada tienen que ser correctos
        /// </summary>
        /// <param name="clsPruebaJugador">ClsPruebaJugador</param>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve un 1 si el progreso se ha insertado correctamente y un 0 si no
        public int InsertarProgresoDAL(ClsPruebaJugador clsPruebaJugador)
        {
            ClsMyConnection miConexion = null;

            int           exito     = 0;
            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            miComando.Parameters.Add("@idJugador", System.Data.SqlDbType.Int).Value  = clsPruebaJugador.IdJugador;
            miComando.Parameters.Add("@idPrueba", System.Data.SqlDbType.Int).Value   = clsPruebaJugador.IdPrueba;
            miComando.Parameters.Add("@tiempo", System.Data.SqlDbType.VarChar).Value = clsPruebaJugador.TiemoJugador;

            miComando.CommandText = "INSERT INTO CJ_PruebasJugadores (idJugador,idPrueba,tiemoJugador) " +
                                    "VALUES (@idJugador, @idPrueba, @tiempo)";

            try
            {
                conexion             = miConexion.getConnection();
                miComando.Connection = conexion;
                exito = miComando.ExecuteNonQuery();
            }

            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(exito);
        }
예제 #22
0
        /// <summary>
        /// prototipo: public int InsertarLuchadorCombateDAL(int idCombate, int idLuchador, int puntuacionLuchador)
        /// comentarios: sirve para insertar los datos en la tabla intermedia SH_LuchadoresCombates
        /// precondiciones: los datos de entrada tienen que ser correctos
        /// </summary>
        /// <param name="idCombate">entero</param>
        /// <param name="idLuchador">entero</param>
        /// <param name="puntuacionLuchador">entero</param>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve un 1 si los datos se han insertado correctamente y un 0 si no o un SQLException si no hay conexion a internet
        public int InsertarLuchadorCombateDAL(int idCombate, int idLuchador, int puntuacionLuchador)
        {
            ClsMyConnection miConexion = null;

            int exito = 0;

            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            miComando.Parameters.Add("@idCombate", System.Data.SqlDbType.Int).Value          = idCombate;
            miComando.Parameters.Add("@idLuchador", System.Data.SqlDbType.Int).Value         = idLuchador;
            miComando.Parameters.Add("@puntuacionLuchador", System.Data.SqlDbType.Int).Value = puntuacionLuchador;

            miComando.CommandText = "insert into SH_LuchadoresCombates(idCombate,idLuchador,puntuacionLuchador) values(@idCombate, @idLuchador, @puntuacionLuchador)";

            try
            {
                conexion             = miConexion.getConnection();
                miComando.Connection = conexion;
                exito = miComando.ExecuteNonQuery();
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(exito);
        }
예제 #23
0
        /// <summary>
        /// prototipo: public int InsertarPalabraDAL(ClsPalabras palabra)
        /// comentarios: sirve para insertar un objeto palabra a la bbdd
        /// precondiciones: los datos de entrada tienen que ser correctos
        /// </summary>
        /// <param name="palabra">ClsPalabras</param>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve un 1 si la palabra se ha insertado correctamente y un 0 si no
        public int InsertarPalabraDAL(ClsPalabras palabra)
        {
            ClsMyConnection miConexion = null;

            int exito = 0;

            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            miComando.Parameters.Add("@palabra", System.Data.SqlDbType.VarChar).Value = palabra.Palabra;
            miComando.Parameters.Add("@dificultad", System.Data.SqlDbType.Int).Value  = palabra.Dificultad;

            miComando.CommandText = "insert into CJ_Palabras (palabra,dificultad) " +
                                    "values(@palabra, @dificultad)";

            try
            {
                conexion             = miConexion.getConnection();
                miComando.Connection = conexion;
                exito = miComando.ExecuteNonQuery();
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(exito);
        }
예제 #24
0
        /// <summary>
        /// Obtiene un listado de un tamaño concreto de las estadisticas de los jugadores
        /// </summary>
        /// <param name="numJugadores">Numero de jugadores que componen la lista</param>
        /// <returns>Listado de estadisticas</returns>
        public List <ClsStats> listadoStats(int numJugadores)
        {
            List <ClsStats> listado    = new List <ClsStats>();
            ClsMyConnection connection = new ClsMyConnection();
            SqlConnection   conn       = connection.getConnection();
            SqlCommand      miComando  = new SqlCommand();
            SqlDataReader   miLector   = null;
            ClsStats        oStats;

            try{
                miComando.CommandText = "SELECT TOP " + numJugadores + " * FROM stats ORDER BY score DESC"; //Intenté parametrizar esta consulta pero el TOP daba problemas al hacerlo (no funcionaba a secas)
                miComando.Connection  = conn;
                miLector = miComando.ExecuteReader();
                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        oStats       = new ClsStats();
                        oStats.Name  = (miLector["name"] is DBNull) ? "Anonimo" : (string)miLector["name"];
                        oStats.Score = (int)miLector["score"];
                        listado.Add(oStats);
                    }
                }
            }catch (Exception exSql) {
                throw exSql;
            }finally{
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conn != null)
                {
                    connection.closeConnection(ref conn);
                }
            }

            return(listado);
        }
예제 #25
0
        /// <summary>
        /// sirve para ver si el codigo introducido pertenece a algún médico
        /// </summary>
        /// <param name="codigo">cogigo del medico que queremos ver si existe o no</param>
        /// <returns>true si el codigo corresponde a algún médico y false si no</returns>
        public bool ExisteMedicoDAL(string codigo)
        {
            ClsMyConnection miConexion = null;

            SqlCommand    miComando = new SqlCommand();
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();
            miComando.Parameters.Add("@codigo", System.Data.SqlDbType.Char).Value = codigo;
            bool existe   = false;
            int  hayCosas = 0;

            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "select count(*) from HO_Medicos where codigoMedico = @codigo";

                miComando.Connection = conexion;
                hayCosas             = (int)miComando.ExecuteScalar();

                if (hayCosas != 0)
                {
                    existe = true;
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(existe);
        }
예제 #26
0
        /// <summary>
        /// prototipo: public int InsertarCombateDAL()
        /// comentarios: sirve para insertar un objeto combate a la bbdd
        /// precondiciones: no hay
        /// </summary>
        /// <returns>un entero</returns>
        /// postcondiciones: asociado a nombre devuelve un 1 si la palabra se ha insertado correctamente y un 0 si no o un SQLException si no hay conexion a internet
        public int InsertarCombateDAL()
        {
            ClsMyConnection miConexion = null;

            int exito = 0;

            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            miComando.CommandText = "insert into SH_Combates(fechaCombate) values(cast(getdate() as date))";

            try
            {
                conexion             = miConexion.getConnection();
                miComando.Connection = conexion;
                exito = miComando.ExecuteNonQuery();
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }
            return(exito);
        }
예제 #27
0
        /// <summary>
        /// Metodo que nos devuelve el listado de todos los usuarios
        /// </summary>
        /// <returns>
        /// listado de usuarios
        /// </returns>
        public ObservableCollection <ClsUsuario> ObtenerListadoUsuariosDAL()
        {
            ClsMyConnection miConexion;

            ObservableCollection <ClsUsuario> listado = new ObservableCollection <ClsUsuario>();

            SqlCommand miComando = new SqlCommand();

            SqlDataReader miLector;

            ClsUsuario oUsuario;

            SqlConnection conexion;


            miConexion = new ClsMyConnection();
            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "SELECT * FROM Usuarios";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        oUsuario             = new ClsUsuario();
                        oUsuario.IdUsuario   = (int)miLector["id"];
                        oUsuario.Saldo       = (double)miLector["saldo"];
                        oUsuario.Correo      = (string)miLector["correo"];
                        oUsuario.Contrasenia = (string)miLector["contraseña"];
                        oUsuario.IsAdmin     = (bool)miLector["isAdmin"];
                        listado.Add(oUsuario);
                    }
                }

                miLector.Close();
                miConexion.closeConnection(ref conexion);
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }


            //try
            //{
            //    SqlConnection sqlConnection = new SqlConnection("Data Source=DESKTOP-68D7LR4\\SQLEXPRESS;Initial Catalog=ApuestasDeportivas;Integrated Security=True");
            //    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("SELECT * FROM Usuarios", sqlConnection);
            //    DataTable dataTable = new DataTable();
            //    sqlDataAdapter.Fill(dataTable);

            //    foreach (DataRow row in dataTable.Rows)
            //    {
            //        oUsuario = new ClsUsuario();
            //        oUsuario.IdUsuario = (int)row["id"];
            //        oUsuario.Saldo = (double)row["saldo"];
            //        oUsuario.Correo = (string)row["correo"];
            //        oUsuario.Contrasenia = (string)row["contraseña"];
            //        oUsuario.IsAdmin = (bool)row["isAdmin"];
            //        listado.Add(oUsuario);
            //    }
            //}catch(Exception e)
            //{
            //    throw e;
            //}


            return(listado);
        }
예제 #28
0
        //TODO funcion que devuelve un listado completo de personas
        public List <ClsPersona> ListadoCompletoPersonas()
        {
            ClsMyConnection miConexion = null;

            List <ClsPersona> listadoPersonas = new List <ClsPersona>();

            SqlCommand miComando = new SqlCommand();

            SqlDataReader miLector = null;

            ClsPersona oPersona = null;

            SqlConnection conexion = null;


            miConexion = new ClsMyConnection();
            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "SELECT * FROM PD_Personas";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        oPersona                        = new ClsPersona();
                        oPersona.IdPersona              = (int)miLector["IDPersona"];
                        oPersona.NombrePersona          = (string)miLector["NombrePersona"];
                        oPersona.ApellidosPersona       = (string)miLector["ApellidosPersona"];
                        oPersona.FechaNacimientoPersona = (DateTime)miLector["FechaNacimientoPersona"];
                        oPersona.TelefonoPersona        = (string)miLector["TelefonoPersona"];
                        oPersona.FotoPersona            = null;//hay que recuperar la imagen
                        oPersona.IDDEpartamento         = (int)miLector["IDDepartamento"];
                        listadoPersonas.Add(oPersona);
                    }
                }
            }

            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (miConexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(listadoPersonas);
        }
예제 #29
0
        /// <summary>
        /// sirve para obtener el listado de las preguntas
        /// </summary>
        /// <returns></returns>
        public ObservableCollection <ClsPregunta> ListadoCompletoPreguntasDAL()
        {
            ClsMyConnection miConexion = null;

            ObservableCollection <ClsPregunta> listadoPreguntas = new ObservableCollection <ClsPregunta>();
            SqlCommand    miComando = new SqlCommand();
            SqlDataReader miLector  = null;
            ClsPregunta   oPregunta = null;
            SqlConnection conexion  = null;

            miConexion = new ClsMyConnection();

            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "select * from CV_Preguntas";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    while (miLector.Read())
                    {
                        oPregunta = new ClsPregunta();

                        oPregunta.IdPregunta = (int)miLector["idPregunta"];

                        if (!String.IsNullOrEmpty(miLector["pregunta"].ToString()))
                        {
                            oPregunta.Pregunta = (string)miLector["pregunta"];
                        }

                        listadoPreguntas.Add(oPregunta);
                    }
                }
            }
            catch (SqlException exSql)
            {
                //if (miLector != null)
                //{
                //    //por si ay algun problema con la contraseña o el enlace de la bbdd o el nombre de usuario
                //    var dlg = new MessageDialog("Problemas de conexión. Inténtalo más tarde por favor");
                //    var res = dlg.ShowAsync();
                //}

                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (miConexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(listadoPreguntas);
        }
예제 #30
0
        /// <summary>
        /// sirve para obtener las tareas de hoy de un medico
        /// </summary>
        /// <param name="codigoMedico">el codigo del médico</param>
        /// <returns>tareas</returns>
        public ClsControlDiario TareasPorCodigoMedicoYFechaDeHoyDAL(string codigoMedico)
        {
            ClsMyConnection miConexion = null;

            SqlCommand       miComando      = new SqlCommand();
            SqlDataReader    miLector       = null;
            ClsControlDiario oControlDiario = null;
            SqlConnection    conexion       = null;

            miComando.Parameters.Add("@codigo", System.Data.SqlDbType.Char).Value = codigoMedico;
            miConexion = new ClsMyConnection();

            try
            {
                conexion = miConexion.getConnection();
                miComando.CommandText = "select * from HO_ControlDiario where fecha = cast(getdate() as date) and codigoMedico = @codigo";

                miComando.Connection = conexion;
                miLector             = miComando.ExecuteReader();

                //Si hay lineas en el lector
                if (miLector.HasRows)
                {
                    miLector.Read();

                    oControlDiario = new ClsControlDiario();

                    oControlDiario.CodigoMedico = (string)miLector["codigoMedico"];
                    oControlDiario.Fecha        = Convert.ToString(((DateTime)miLector["fecha"]).ToShortDateString());

                    if (!String.IsNullOrEmpty(miLector["primeraSesion"].ToString()))
                    {
                        oControlDiario.PrimeraSesion = (string)miLector["primeraSesion"];
                    }
                    else
                    {
                        oControlDiario.PrimeraSesion = "En esta sesión no tiene tareas";
                    }

                    if (!String.IsNullOrEmpty(miLector["segundaSesion"].ToString()))
                    {
                        oControlDiario.SegundaSesion = (string)miLector["segundaSesion"];
                    }
                    else
                    {
                        oControlDiario.SegundaSesion = "En esta sesión no tiene tareas";
                    }

                    if (!String.IsNullOrEmpty(miLector["terceraSesion"].ToString()))
                    {
                        oControlDiario.TerceraSesion = (string)miLector["terceraSesion"];
                    }
                    else
                    {
                        oControlDiario.TerceraSesion = "En esta sesión no tiene tareas";
                    }

                    if (!String.IsNullOrEmpty(miLector["cuartaSesion"].ToString()))
                    {
                        oControlDiario.CuartaSesion = (string)miLector["cuartaSesion"];
                    }
                    else
                    {
                        oControlDiario.CuartaSesion = "En esta sesión no tiene tareas";
                    }
                }
            }
            catch (SqlException exSql)
            {
                throw exSql;
            }
            finally
            {
                if (miLector != null)
                {
                    miLector.Close();
                }

                if (conexion != null)
                {
                    miConexion.closeConnection(ref conexion);
                }
            }

            return(oControlDiario);
        }