/// <summary> /// Busca un Usuario con un Id determinado en la base de datos. /// autor: Paula Pedrosa /// </summary> /// <param name="idUsuario"> Id del Usuario que se quiere buscar </param> /// <returns>Un objeto Usuario, o null si no encuentra el Usuario.</returns> public Usuario obtenerUsuarioPorId(int idUsuario) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); Usuario usuario = null; try { if (con.State == ConnectionState.Closed) { con.Open(); cmd.Connection = con; } string sql = @"SELECT * FROM Usuarios WHERE idUsuario = @idUsuario"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@idUsuario", idUsuario); cmd.CommandText = sql; SqlDataReader dr = cmd.ExecuteReader(); DAOTipoUsuario gestorTipoUsuario = new DAOTipoUsuario(); while (dr.Read()) { usuario = new Usuario(); usuario.idUsuario = Int32.Parse(dr["idUsuario"].ToString()); usuario.nombre = dr["nombre"].ToString(); usuario.email = dr["email"].ToString(); usuario.contrasenia = dr["contrasenia"].ToString(); if (dr["esActivo"].ToString().Equals("0")) { usuario.esActivo = false; } else { usuario.esActivo = true; } usuario.codigo = dr["codigo"].ToString(); usuario.tipoUsuario = gestorTipoUsuario.obtenerTipoUsuarioPorId(Int32.Parse(dr["idTipoUsuario"].ToString())); } return(usuario); } catch (Exception ex) { throw new Exception("Error al intentar recuperar el usuario: " + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }
/// <summary> /// Busca un Usuario con por un email determinado en la base de datos. /// autor: Paula Pedrosa y Flor /// </summary> /// <param name="idUsuario"> Email del Usuario que se quiere buscar </param> /// <returns>Un objeto Usuario, o null si no encuentra el Usuario.</returns> public Usuario obtenerUsuarioPorEmail(string email) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); Usuario respuesta = null; try { if (con.State == ConnectionState.Closed) { con.Open(); cmd.Connection = con; } string sql = @"SELECT * FROM Usuarios WHERE email = @email"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@email", email); cmd.CommandText = sql; SqlDataReader dr = cmd.ExecuteReader(); DAOTipoUsuario gestorTipoUsuario = new DAOTipoUsuario(); while (dr.Read()) { respuesta = new Usuario() { idUsuario = Int32.Parse(dr["idUsuario"].ToString()), nombre = dr["nombre"].ToString(), email = dr["email"].ToString(), codigo = dr["codigo"].ToString(), esActivo = bool.Parse(dr["esActivo"].ToString()), tipoUsuario = gestorTipoUsuario.obtenerTipoUsuarioPorId(Int32.Parse(dr["idTipoUsuario"].ToString())) }; } return(respuesta); } catch (Exception ex) { throw new Exception("Error al intentar recuperar el campeonato: " + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }
/// <summary> /// Obtiene el usuario con ese mail y contraseƱa /// </summary> /// <parameters>email y contrasenia</parameters> /// <returns>Usuario</returns> public Usuario obtenerUsuarioPorEmailyContrasenia(string email, string contrasenia) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); SqlDataReader dr; Usuario usuario = null; try { DAOTipoUsuario gestorTipoUsuario = new DAOTipoUsuario(); if (con.State == ConnectionState.Closed) { con.Open(); cmd.Connection = con; } string sql = @"SELECT * FROM Usuarios WHERE email = @email AND contrasenia=@contrasenia"; cmd.Parameters.Clear(); cmd.Parameters.Add(new SqlParameter("@email", email)); cmd.Parameters.Add(new SqlParameter("@contrasenia", contrasenia)); cmd.CommandText = sql; dr = cmd.ExecuteReader(); while (dr.Read()) { usuario = new Usuario() { nombre = dr["nombre"].ToString(), email = dr["email"].ToString(), idUsuario = dr.GetInt32(dr.GetOrdinal("idUsuario")), tipoUsuario = gestorTipoUsuario.obtenerTipoUsuarioPorId(Int32.Parse(dr["idTipoUsuario"].ToString())), esActivo = bool.Parse(dr["esActivo"].ToString()) }; } return(usuario); } catch (Exception ex) { throw new Exception("Ocurrio un error al obtener el usuario" + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }