/// <summary> /// elimina una persona por su id /// </summary> /// <param name="id">id de la persona a eliminar</param> /// <returns> /// un entero mayor que cero si ha ido todo bien y 0 si no /// </returns> public int deletePersona(int id) { SqlConnection conexion = null; SqlCommand miComando = new SqlCommand(); ClsMyConnection miConexion = new ClsMyConnection();; int resultado = 0; miComando.CommandText = "DELETE FROM PD_Personas WHERE IDPersona = @idPersona"; miComando.Parameters.Add("@idPersona", System.Data.SqlDbType.Int).Value = id; try { conexion = miConexion.getConnection(); miComando.Connection = conexion; resultado = miComando.ExecuteNonQuery(); } catch (Exception exSql) { throw exSql; } finally { if (conexion != null) { conexion.Close(); } } return(resultado); }
/// <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); }
/// <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); }
/// <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); }
/// <summary> /// sirve para insertar una persona en la bbdd /// </summary> /// <param name="persona">la persona que vamos a guardar</param> /// <returns>un 0 si hay problemas de conexion, -1 si algun campo no esta rellenado y un numero mayor que 0 si todo va bien</returns> public int InsertarPersonaDAL(ClsPersona persona) { int resultado = 0; SqlConnection conexion = null; SqlCommand miComando = null; ClsMyConnection miConexion = null; try { miComando = new SqlCommand(); miConexion = new ClsMyConnection(); miComando.CommandText = "insert into CV_Personas(dniPersona,nombrePersona,apellidosPersona,telefono,direccion,diagnostico) " + "values(@dniPersona, @nombrePersona,@apellidosPersona,@telefono,@direccion,@diagnostico)"; if (persona.DniPersona != "" && persona.NombrePersona != "" && persona.ApellidosPerson != "" && persona.Telefono != "" && persona.Direccion != "") { miComando.Parameters.Add("@dniPersona", System.Data.SqlDbType.VarChar).Value = persona.DniPersona; miComando.Parameters.Add("@nombrePersona", System.Data.SqlDbType.VarChar).Value = persona.NombrePersona; miComando.Parameters.Add("@apellidosPersona", System.Data.SqlDbType.VarChar).Value = persona.ApellidosPerson; miComando.Parameters.Add("@telefono", System.Data.SqlDbType.VarChar).Value = persona.Telefono; miComando.Parameters.Add("@direccion", System.Data.SqlDbType.VarChar).Value = persona.Direccion; miComando.Parameters.Add("@diagnostico", System.Data.SqlDbType.VarChar).Value = persona.Diagnostico; conexion = miConexion.getConnection(); miComando.Connection = conexion; resultado = miComando.ExecuteNonQuery(); } else { resultado = (-1); //por si algun dato no se ha rellenado var dlg = new MessageDialog("Rellena todos los campos por favor(El DNI tiene que tener 9 dígitos)"); var res = dlg.ShowAsync(); } } catch (Exception exSql) { //if (resultado == 0) //{ // //por si hay 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 (conexion != null) { conexion.Close(); } } return(resultado); }
/// <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); }
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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <summary> /// este metodo sirve para insertar el resultado de la partida en la base de datos /// </summary> /// <param name="score"></param> /// <returns>devuelve un entero si todo va bien y un cero si no</returns> public int InsertarPuntuacionDAL(ClsTopScore score) { int resultado = 0; SqlConnection conexion = null; SqlCommand miComando = null; ClsMyConnection miConexion = null; try { miComando = new SqlCommand(); miConexion = new ClsMyConnection(); miComando.CommandText = "insert into TopScore (NombrePersona,Tiempo) values(@NombrePersona, @tiempo)"; miComando.Parameters.Add("@NombrePersona", System.Data.SqlDbType.VarChar).Value = score.NombrePersona; miComando.Parameters.Add("@tiempo", System.Data.SqlDbType.Time).Value = score.Tiempo; conexion = miConexion.getConnection(); miComando.Connection = conexion; resultado = miComando.ExecuteNonQuery(); } catch (Exception exSql) { if (resultado == 0) { //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(); } } finally { if (conexion != null) { conexion.Close(); } } return(resultado); }
/// <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); }
/// <summary> /// actualiza una persona /// </summary> /// precondiciones: no hay /// postcondiciones: devuelve un numero mayor que cero si todo ha ido bien y 0 si no /// <param name="persona"> objeto persona a actualizar</param> /// <returns> /// un entero /// </returns> public int updatePersonaDAL(ClsPersona persona) { SqlConnection conexion = null; SqlCommand miComando = new SqlCommand(); ClsMyConnection miConexion = new ClsMyConnection();; int resultado = 0; miComando.CommandText = "UPDATE personas SET NombrePersona=@nombre, ApellidosPersona=@apellidos, FechaNacimientoPersona=@fechaNac, " + "Telefono=@telefono, IDDepartamento=@idDepartamento, FotoPersona=@fotoPersona WHERE IdPersona = @idPersona"; miComando.Parameters.Add("@idPersona", System.Data.SqlDbType.Int).Value = persona.IdPersona; miComando.Parameters.Add("@nombre", System.Data.SqlDbType.VarChar).Value = persona.NombrePersona; miComando.Parameters.Add("@apellidos", System.Data.SqlDbType.VarChar).Value = persona.ApellidosPersona; miComando.Parameters.Add("@fechaNac", System.Data.SqlDbType.DateTime).Value = persona.FechaNacimientoPersona; miComando.Parameters.Add("@telefono", System.Data.SqlDbType.VarChar).Value = persona.TelefonoPersona; miComando.Parameters.Add("@fotoPersona", System.Data.SqlDbType.VarBinary).Value = persona.FotoPersona; miComando.Parameters.Add("@idDepartamento", System.Data.SqlDbType.Int).Value = persona.IDDEpartamento; try { conexion = miConexion.getConnection(); miComando.Connection = conexion; resultado = miComando.ExecuteNonQuery(); } catch (Exception exSql) { throw exSql; } finally { if (conexion != null) { conexion.Close(); } } return(resultado); }
/// <summary> /// incerta una persona en la bbdd /// </summary> /// <param name="persona"> objeto persona a incertar</param> /// <returns> /// un entero mayor que cero si ha ido todo bien y 0 si no /// </returns> public int addPersonaDAL(ClsPersona persona) { int resultado = 0; SqlConnection conexion = null; SqlCommand miComando = new SqlCommand(); ClsMyConnection miConexion = new ClsMyConnection();; miComando.CommandText = "INSERT INTO PD_Personas (NombrePersona, ApellidosPersona, FechaNacimientoPersona,Telefono, IDDepartamento, FotoPersona) " + "VALUES @nombre, @apellidos, @fechaNac,@telefono, @idDepartamento,@fotoPersona)"; miComando.Parameters.Add("@nombre", System.Data.SqlDbType.VarChar).Value = persona.NombrePersona; miComando.Parameters.Add("@apellidos", System.Data.SqlDbType.VarChar).Value = persona.ApellidosPersona; miComando.Parameters.Add("@fechaNac", System.Data.SqlDbType.DateTime).Value = persona.FechaNacimientoPersona; miComando.Parameters.Add("@telefono", System.Data.SqlDbType.VarChar).Value = persona.TelefonoPersona; miComando.Parameters.Add("@fotoPersona", System.Data.SqlDbType.VarBinary).Value = persona.FotoPersona; miComando.Parameters.Add("@idDepartamento", System.Data.SqlDbType.Int).Value = persona.IDDEpartamento; try { conexion = miConexion.getConnection(); miComando.Connection = conexion; resultado = miComando.ExecuteNonQuery(); } catch (Exception exSql) { throw exSql; } finally { if (conexion != null) { conexion.Close(); } } return(resultado); }
/// <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); }